标签:同源策略 跨域 辛星 javascript
可能平时接触到"跨域"这个概念还是挺频繁的,既然有"跨域"的说法,那么就有"同域"的说法,不过我们一般称之为"同源"。
所谓同源策略,就是组织一个域上加载的脚本获取或者操作另一个域上的文档属性。即受到请求的url的域必须与当前web页面的域相同,也就是意味着浏览器隔离来自不同源的内容,防止它们彼此之间的操作。
同源策略有效地阻止了一些危险行为,比如我们打开了多个网站,但是其中一个是木马网站,那么木马网站就有可能窃取其他网站上关于我们的信息,这就会给用户带来很大的泄密风险。由于有了"同源策略",大大降低了这种风险性,由于木马网站与我们浏览的其他网站不同源,所以它们无法相互通信,获取数据。
同源策略在一定程度上保护了用户的网络安全,但是比如我们需要让www.a.com获取www.b.com的时候的数据的时候,就会因为同源策略而无法获取。
下面是同源策略的具体操作:
允许通信的有:
同一域名下的js文件 比如http://www.a.com/a.js 和http://www.a.com/b.js
同一域名下不同文件夹的js文件 比如http://www.a.com/xin/a.js 和 http://www.a.com/star/b.js
不允许通信的有:
同一域名下的不同端口 比如http://www.a.com:8000/a.js 和 http://www.a.com/b.js
同一域名下的不同协议 比如http://www.a.com/a.js 和 https://www.a.com/b.js
域名和对应的IP 比如http://www.a.com/a.js 和 http://70.32.92.74/a.js
主域相同但子域不同 比如http:www.a.com/a.js 和http://xin.a.com/b.js
不同域名 比如http://www.a.com/a.js 和http://www.b.com/b.js
也就是说,在跨域问题上,域是通过url首部来识别判断的。
标签:同源策略 跨域 辛星 javascript
原文地址:http://blog.csdn.net/xinguimeng/article/details/46437521