web前端跨域问题

先问大家一个问题,什么是跨域?

跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这是广义的。

而我们通常说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景
所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。

同源策略限制会造成什么影响呢?

1.cookie LocalStorage和IndexDB无法读取
2.DOM 和 Js对象无法获得
3.AJAX 请求不能发送

解决跨域问题的方法有:
1、 通过jsonp跨域(缺点:只能实现get一种请求)
2、 document.domain + iframe跨域
3、 location.hash + iframe
4、 window.name + iframe跨域
5、 postMessage跨域
6、 跨域资源共享(CORS)
7、 nginx代理跨域
8、 nodejs中间件代理跨域
9、 WebSocket协议跨域

方法的具体实现请参考:
https://www.jianshu.com/p/842f462582a7

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。