options请求 & 头部字段
options请求
当浏览器跨域发起非简单请求时,会先发一个预检请求,即options请求。首先发起options请求目的:
- 用来向服务器询问该请求是否有权限访问
- 服务器支持的请求方式以及支持的请求头部
什么是简单请求
同时满足以下三个条件时,为简单请求,否则是非简单请求。
- HTTP请求方式为:get,post,head
- 请求头只有几个特定的字段
- Accept
- Accept-Language
- Content-Language
- Content-Type
- DPR
- Downlink
- Save-Data
- Viewport-Width
- Width
- Content-Type字段值需满足
- application/x-www-form-urlencoded
- mutipart/form-data
- text/plain
非简单请求
发起非简单请求之前,先发个预检请求,即options请求。如果服务器允许访问的话,那么options请求的响应头部会有以下几个字段:
- Access-Control-Allow-Origin:服务器允许的跨域源,必有字段。
- Access-Control-Allow-Method:服务器允许的Method方式。
- Access-Control-Allow-Headers:服务器允许的请求头,在Access-Control-Request-Headers请求字段中出现的字段。