CORS介绍
什么是CORS
CORS(Cross-Origin Resourcr Sharing,跨域资源共享) 由一系列HTTP响应头组成,这些HTTP响应头决定浏览器是否阻止前端JS代码跨域获取资源
浏览器的同源安全策略会拦截网页跨域获取到的资源,但是如果接口服务器配置了CORS相关的HTTP响应头,就可以解除浏览器端的跨域访问限制
CORS注意事项
CORS主要在服务器端进行配置.客户端浏览器无需做任何额外的配置
CORS有兼容性,只有支持XMLHttpRequest Level2的浏览器.才能正常访问开启了CORS的服务器接口
(例如 IE10+ Chrome4+ FireFox3.5+)
CORS响应头部
Access-Control-Allow-Origin
//origin参数指定具体的外域URL
Access-Control-Allow-Origin: <origin> | *
//例如 只允许http://www.example.com/的请求
res.setHeader('Access-Control-Allow-Origin','http://www.example.com/');
res.setHeader('Access-Control-Allow-Origin','*');
Access-Control-Allow-Headers
默认情况下CORS仅支持客户端发送如下9个请求头
Access
Accept-Language
Content-Language
DPR
Downlink
Save-Data
Viewport-Width
Width
Contnet-Type 值限于这三者: text/plain multipart/form-data application/x-www-form-urlencoded