浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。
前后端分离的模式下,前后端的域名是不一致的,所以就会出现跨域问题。
而浏览器为了安全问题一般都会限制跨域访问,也就是不允许跨域请求资源。所以出现了浏览器的同源策略。
同源策略:指协议、域名、端口都要相同,其一不同都会出现跨域。
同源策略限制的几种行为:
url | 说明 | 是否允许通信 |
---|---|---|
http://www.a.com/a.js http://www.a.com/b.js |
同一域名下 | 允许 |
http://www.a.com/a/a.js http://www.a.com/b/b.js |
同一域名下不同文件夹 | 允许 |
http://www.a.com:8000/a.js http://www.a.com/b.js |
同一域名下不同端口 | 不允许 |
http://www.a.com/a.js http://192.168.10.11/b.js |
域名和该域名对应ip | 不允许 |
http://www.a.com/a.js http://index.a.com/b.js http://a.com/c.js |
主域相同,子域不同 | 不允许 |
http://www.a.com/a.js http://www.b.com/b.js |
不同域名 | 不允许 |
http/www.a.com/a.js https/www.a.com/b.js |
同域名,不同协议 | 不允许 |