首先明确,跨域请求只是浏览器对请求的限制,虽然跨域,服务器仍然能收到客户端请求,服务器之间通信不存在跨域问题。
1. 什么是跨域?
- 协议
- 域名
- 端口
- 只要协议、域名、端口号其中任意一者不同,均属跨域。
2. 实现跨域的9种方法
1 jsonp
2 cors
3 nginx
4 websocket
5 postMessage
6 document.domain
7 window.name
8 location.hash
9 http-proxy
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库
结论
根据不同的应用场景,选择相应的跨域通信方式。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。