跨域
跨域解决方案
同源策略
协议+域名+端口,有一个不同,则跨域
注意:http和https属于不同协议,所以也会跨域
一、CORS
服务端配置字段:Access-Control-Allow-*
Access-Control-Allow-Origin
Access-Control-Allow-Methods
Access-Control-Allow-Headers
简单请求、非简单请求:是否会预检(OPTIONS)
是否允许携带cookie:Access-Control-Allow-Credentials
二、JSONP
核心:利用<script>的请求没有跨域限制
步骤:
声明一个全局回调函数handleResponse(data)
动态脚本发起一个请求,参数是全局回调函数:?jsonpCallback=handleResponse
服务端返回一个handleResponse(data)的字符串
客户端拿到字符串进行执行
三、反向代理
增加一个代理服务器(nginx)
将所有的请求都代理到此服务器上
此代理服务器内部做服务分发
参考:
Last updated