- CORS 是跨域资源共享的缩写
- 该技术通过在目标域名返回 CORS 响应头来达到获取该域名的数据的目的
- 该技术核心就是设置 response header,分为简单请求和复杂请求两种
- 简单请求只需要设置 Access-Control-Allow-Origin: 目标源 即可,复杂请求则分两步走,第一步是浏览器发起 OPTIONS 请求,第二步才是真实请求。OPTIONS 请求需要把服务器支持的操作通过响应头来表明,如 Access-Control-Allow-Methods: POST, GET, OPTIONS,另外一个重要的响应头是 Access-Control-Allow-Credentials: true 用来表明是否接受请求中的 Cookie。
- 优点是通过简单的配置就能跨域
- 缺点是某些古老浏览器不支持 CORS 或不支持 Credentials
- 解决办法是用 JSONP 或 P3P 等技术
网友评论