跨域问题的原因及解决方案
原因:
是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。
解决方案有十种:
1.通过Jsonp实现跨域 (常用)
2.通过修改document.domain来跨子域
3.window.name+iframe跨域
4.跨文档消息传输window.postMessage
5.通过CORS(跨域资源共享)解决AJAX跨域
6.通过Nginx反向代理
7.Nodejs中间件代理(两次跨域)
8.websocket协议跨域
9.localhost.hash+iframe跨域
10.通过设置Access-Control-Allow-Origin
PS:前面九种的具体原理和方案参考:九种跨域方案实现原理
本文作者:何以之
本文链接:https://www.cnblogs.com/serendipity-echo/p/15403887.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步