同源策略
同源策略是指浏览器为了安全考虑,只允许与本域下的接口进行交互,不同源的客户端脚本在没有明确授权的情况下,不能读写对方的资源。
同源
同协议、同域名、同端口
跨域的方式
-
使用jsonp(仅支持get方法,具有局限性,不安全可能遭受XSS攻击)。
-
CORS(跨域资源共享),服务器返回结果中加入一个响应头:Access-Control-Allow-Origin。
-
降域(需要主域名一致)。
-
postMessage(页面与新打开的窗口消息传递、多窗口消息传递、页面与嵌套iframe消息传递)
-
websocket(双向通信)
-
Node或其它中间件代理(代理服务器设置CORS)
-
nginx反向代理
-
window.name+iframe
-
location.hash+iframe
参考文章