当发出一个请求的时候,浏览器发现是一个跨域的请求,会增加几个请求头,分为简单和复杂请求
- 简单请求(POST GET HEAD 中一个,且请求头字段是限制的几个)
额外请求头: Origin
响应头:
Access-Control-Allow-Origin: http: 允许的域名
Access-Control-Allow-Credentials: true 是否携带cookies
Access-Control-Expose-Headers: FooBar 增加的响应头
- 复杂请求(application/json 也属于复杂请求)
预检请求(域名是否被允许跨域,允许的请求方法,额外的请求头)
OPTIONS
Origin: http:
Access-Control-Request-Method: PUT 请求方法
Access-Control-Request-Headers: X-Custom-Header 额外的请求头
响应:
Access-Control-Allow-Origin: http:
Access-Control-Allow-Methods: GET, POST, PUT
Access-Control-Allow-Headers: X-Custom-Header 允许的额外请求头
Access-Control-Max-Age 有效期
预检请求成功后,之后的每次请求都和简单请求差不多,也是需要携带Origin字段
Origin: http:
响应允许的头部
Access-Control-Allow-Origin