简单请求
同时满足以下两大条件的请求,就属于简单请求:
- 请求方式:GET,POST,HEAD三者之一
- HTTP头部信息不超过以下几种字段:无自定义头部字段,Accept,Accept-language,Content-language,DPR,Downlink,Save-Data,Viewport-Width,Width,Content-Type(只有三个值application/x-www-form-urlencoded、multipart/form-data、text/plain)
预检请求
只要符合以下任何一个 条件的请求,都需要进行预检请求:
- 请求方式:GET,POST,HEAD之外的请求Method类型
- 请求头中包含自定义头部字段
- 向服务器发送了 application/json格式的数据
在浏览器与服务器正式通信之前,浏览器会先发送OPTION请求进行预检,以获知服务器是否允许该实际请求,所以这一次的OPTION请求被称为“预检请求”。服务器成功响应预检请求后,才会发送真正的请求,并且携带真实数据。
简单请求和预检请求的区别
简单请求的特点:客户端与服务端之间只会发生一次请求。
预检请求的特点:客户端与服务端之间会发生两次请求,OPTION预检请求成功之后,才会发起真正的请求。