1. 原因
一般是请求前修改了以下几个 HTTP 请求首部的 OPTIONS默认 请求:

  • Access-Control-Request-Method
  • Access-Control-Request-Header
  • Origin

此时,浏览器会自动发出一个预检请求,判断是否可以发送请求。

比如说,用put,delete请求方法。
跨域也会发送预检请求,判断是否可以连接。

通常的get.post请求是不会发送预检请求
例如:一个客户端可能会在实际发送一个 DELETE 请求之前,先向服务器发起一个预检请求,用于询问是否可以向服务器发起一个 DELETE 请求

例子如下 CORS 预检请求

2,作用
判断服务器是否允许请求。

参考链接:https://developer.mozilla.org/zh-CN/docs/Glossary/Preflight_request

分类:

技术点:

相关文章: