为什么会出现跨域?
跨域问题的产生,源自浏览器的一个同源策略。
同源策略的概念
同源策略是由 Netscape 提出的一个著名的安全策略,它是浏览器最核心也是最基本的安全功能,所有支持 JavaScript 的浏览器都会使用这个策略.
什么是域名、协议、端口
如: https://www.baidu.com
- 域名:baidu.com
- 端口:默认端口22
- 协议:https协议
同源策略的规则
URL | 说明 | 是否运行通信 |
---|---|---|
http://www.baidu.com/a.js http://www.baidu.com/b.js |
同一个域名、同一个协议、同一个端口 | 允许通信 |
http://www.baidu.com/a/a.js http://www.baidu.com/b/b.js |
同一个域名、同一个协议、同一个端口,不同的文件夹下 | 允许通信 |
http://www.baidu.com:8080/a.js http://www.baidu.com/b.js |
不同端口 | 不允许通信 |
http://www.baidu.com/a.js http://script.baidu.com/b.js |
同一域名、子域不同 | 不允许通信 |
http://www.baidu.com/a.js http://12.456.45.41/b.js |
域名与对应域名ip | 不允许通信 |
同源策略的作用
浏览器中不能跨站执行其他网站的脚本,这是浏览器对JavaScript实施的一种安全限制。
提高了攻击成本,保证了服务器的安全。
跨域问题
只要出现域名、协议、端口中有一个不能对应,就会出现跨域问题,也就不能进行访问
跨域的解决方案
Java后端进行跨域解决CORS
参考文献
https://baijiahao.baidu.com/s?id=1726052869296463498&wfr=spider&for=pc
评论区