浏览器跨域判定的原理

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

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

《浏览器跨域判定的原理》 上图指出了不同形式的链接是否与其同源

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

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

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

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

    原文作者:lukeCG
    原文地址: https://www.jianshu.com/p/78d3eee66333
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞