什么是同源策略
所谓同源策略,指的是浏览器对不同源的脚本或者文本的访问方式进行的限制。比如源a的js不能读取或设置引入的源b的元素属性。那么先定义下什么是同源,所谓同源,就是指两个页面具有相同的协议,主机(也常说域名),端口,三个要素缺一不可。
- 同源策略bai,它是由Netscape提出的一du个著名的安全zhi策略
- 现在所有支持zhuanJavaScript 的浏览器都shu会使用这个策略
- 所谓同源是指,域名,协议,端口相同
- 当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面
- 当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的
- 即检查是否同源,只有和百度同源的脚本才会被执行
- 如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问
| URL1 | URL2 | 说明 | 是否允许通信 |
|---|---|---|---|
| www.Homology.com/js/a.js | www.Homology.com/js/b.js | 协议、域名、端口都相同 | 允许 |
| www.Homology.com/js/a.js | www.Homology.com:5050/js/b.js | 协议、域名相同、端口不同 | 不允许 |
| www.Homology.com/js/a.js | www.Homology.com/js/b.js | 域名相同、端口相同、协议不同 | 不允许 |
| www.Homology.com/js/a.js | www.Homology1.com/js/b.js | 协议、端口相同、域名不同 | 不允许 |
| www.Homology.com/js/a.js | Homology.com/js/b.js | 协议、端口相同、主域名相同、子域名不同 | 不允许 |