首页 > Web开发 > 详细

Network - 跨域

时间:2021-08-30 13:55:24      阅读:11      评论:0      收藏:0      [点我收藏+]

一、什么是跨域?

当浏览器执行脚本时会检查是否同源,只有同源的脚本才会执行,如果不同源即为跨域。这里的同源指访问的协议、域名、端口都相同。

 

技术分享图片

 

 

二、跨域流程

技术分享图片

 

 

 

三、如何解决跨域?

3.1 使用Nginx部署为同一域

技术分享图片

 

 

 

 

3.2 配置当次请求允许跨域

技术分享图片

 

 

在Gateway微服务中,添加配置bean,可以实现此功能:

技术分享图片

 

 

3.3 其他方法(参考)

1、jsonp
利用了 script 不受同源策略的限制
缺点:只能 get 方式,易受到 XSS攻击

4、Html5 postMessage 方法
允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本、多窗口、跨域消息传递
缺点:浏览器版本要求,部分浏览器要配置放开跨域限制

5、修改 document.domain 跨子域
相同主域名下的不同子域名资源,设置 document.domain 为 相同的一级域名
缺点:同一一级域名;相同协议;相同端口

6、基于 Html5 websocket 协议
websocket 是 Html5 一种新的协议,基于该协议可以做到浏览器与服务器全双工通信,允许跨域请求
缺点:浏览器一定版本要求,服务器需要支持 websocket 协议

7、document.xxx + iframe
通过 iframe 是浏览器非同源标签,加载内容中转,传到当前页面的属性中
缺点:页面的属性值有大小限制

 

参考文献

————————————————
版权声明:本文为CSDN博主「ConstXiong」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/meism5/article/details/90414283

Network - 跨域

原文:https://www.cnblogs.com/frankcui/p/15202680.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!