浏览器发送options预检请求的前提:
在非简单请求且跨域的情况下,浏览器会发起options预检请求
简单请求
需要满足以下两个条件
1. 请求方法
get
head
post
2. http的头信息不超过以下几种字段
Accept
Accept-Language
Content-Language
Last-Event-ID
Content-Type:(只限于application/x-www-form-urlencoded、multipart/form-data、text/plain)
复杂请求
非简单请求即复杂请求,常见的复杂请求有
1. 请求方法为put或delete
2. Content-Type字段类型为:application/json
3. 添加额外的http header 比如:access_token
在跨域的情况下,非简单请求会先发起一次空body的OPTIONS预检请求
用于向服务器请求权限信息,等预检请求被成功响应后,才发起真正的http请求
浏览器的预检请求可以通过设置:Access-Control-Max-Age进行缓存