简单请求:
简单请求及简单头部,符合以下情况的请求即为简单请求:
- 请求的methods为GET、POST、HEAD
- 除了以下请求头字段外没有自定义请求头字段:
- Accept
- Accept-Language
- Content-Language
- Content-Type(且值是
application/x-www-form-urlencoded,multipart/form-data,text/plain之一) - Save-Data
- DPR(实验中)
- Downlink (实验中)
Viewport-Width (en-US)(已废除)Width (en-US)(已废除)
复杂请求:
除开简单请求就是复杂请求了。
简单请求在CORS中不会发送preflight request(预检请求)
关于在跨域请求中是否会真正执行与简单请求和复杂请求相关:
当跨域请求是复杂请求的时候,对于复杂请求会先发出预检请求然后浏览器通过预检相应执行同源策略进行跨域请求拦截,导致后续的实际请求不会发送所以不会真正执行。
当跨域请求是简单请求的时候,对于简单请求不会发出预检请求,所以会直接把请求发出,服务器会执行并返回结果,但是由于浏览器同源策略会阻止接收返回的结果。