发布时间:2022-08-19 11:24
本文主要总结了5中常用的跨域方法,包括JSONP、CORS、Nginx、Proxy与WebSocket。在日常练手的小项目中,推荐CORS,比较方便易理解。(部分图片来源网络,如有侵权,请联系删除)
所谓同源是指:域名、协议、端口相同。核心就在于它认为自任何站点装载的信赖内容是不安全的。浏览器处于安全方面的考虑,只允许本域名下的接口交互, 不同源的客户端脚本,在没有明确授权的情况下,不能读写对方的资源。常用数据传输的方式有ajax与fetch。同源策略又分为以下两种:
DOM 同源策略:禁止对不同源页面 DOM 进行操作。这里主要场景是 iframe (iframe 元素会创建包含另外一个文档的内联框架(即行内框架))跨域的情况,不同域名的 iframe 是限制互相访问的。
XMLHttpRequest 同源策略:禁止使用 XHR 对象向不同源的服务器地址发起 HTTP 请求。
基于同源策略,限制了以下行为:
Cookie、LocalStorage 和 IndexDB 无法读取
DOM 和 JS 对象无法获取
Ajax请求发送不出去