美文网首页让前端飞技术干货
浏览器跨域判定的原理

浏览器跨域判定的原理

作者: lukeCG | 来源:发表于2018-02-05 18:18 被阅读0次

    众所周知出于安全的考虑,浏览器有个“同源策略 ”,对于不同源的站点之间的相互请求会做限制(注意:跨域限制是浏览器行为,不是服务器行为)。

    同源的要求:所谓同源是指域名(或IP)、协议、端口都相同。

    上图指出了不同形式的链接是否与其同源

    浏览器和服务器的合作判定跨域步骤如下:

    1、浏览器先根据同源策略对前端页面和后台交互地址做匹配,若同源,则直接发送数据请求。若不同源,则发送跨域请求。

    2、服务器解析程序收到浏览器跨域请求后,根据自身配置返回对应文件头,若未配置过任何允许跨域,则文件头里不包含Access-control-Allow-origin字段。若配置过域名,则返回Access-control-Allow-origin + 对应配置规则里的域名的方式。

    3、浏览器根据接受到的http文件头里的Access-Control-Allow-origin字段做匹配,若无该字段,说明不允许跨域,若有该字段,则对字段内容和当前域名做对比,如果同源,则说明可以跨域,浏览器发送请求。如果不同源,则说明该域名不可跨域,不发生请求。

    相关文章

      网友评论

        本文标题:浏览器跨域判定的原理

        本文链接:https://www.haomeiwen.com/subject/efuizxtx.html