同源策略

什么是同源策略?

所谓同源策略,指的是浏览器对不同源的脚本或者文本的访问方式进行的限制。比如源a的js不能读取或设置引入的源b的元素属性。那么先定义下什么是同源,所谓同源,就是指两个页面具有相同的协议,主机(也常说域名),端口,三个要素缺一不可。

看下面的比较就一目了然了:

URL1URL2说明是否允许通信
http://www.foo.com/js/a.js http://www.foo.com/js/b.js 协议、域名、端口都相同 允许
http://www.foo.com/js/a.js http://www.foo.com:8888/js/b.js 协议、域名相同、端口不同 不允许
https://www.foo.com/js/a.js http://www.foo.com/js/b.js 域名相同、端口相同、协议不同 不允许
http://www.foo.com/js/a.js http://www.bar.com/js/b.js 协议、端口相同、域名不同 不允许
http://www.foo.com/js/a.js http://foo.com/js/b.js 协议、端口相同、主域名相同、子域名不同 不允许

怎么样,大家是否清楚了很多呢?

原文地址:https://www.cnblogs.com/singGirl/p/11986982.html