实现跨域通讯的9种方法

首先明确,跨域请求只是浏览器对请求的限制,虽然跨域,服务器仍然能收到客户端请求,服务器之间通讯不存在跨域问题。

1. 什么是跨域?

  1. 协议
  2. 域名
  3. 端口
  • 只要协议、域名、端口号其中任意一者不一样,均属跨域。

2. 实现跨域的9种方法

1 jsonp
2 cors
3 nginx
4 websocket
5 postMessage
6 document.domain
7 window.name
8 location.hash
9 http-proxynginx

jsonp

cors

Access-Control-Allow-Origin: * 就不容许跨域携带cookie

nginx

<!-- 访问.json文件时,会去root 下面json文件中查找 -->
location ~.*\.json {
  root json;
}

postMessage

document.domain

一级域名和二级域名之间的通讯

window.name

location.hash

http-proxy

websocket

socket.io库

结论

根据不一样的应用场景,选择相应的跨域通讯方式。web

相关文章
相关标签/搜索