什么情况下会发起预检请求

150 阅读1分钟

什么情况下会发起预检请求

预检请求是一个OPTIONS方法的HTTP请求,它会被浏览器自动发送到服务器,用来确认实际的跨域请求是否被服务器允许。服务器通过响应中的Access-Control-Allow-MethodsAccess-Control-Allow-HeadersCORS(跨源资源共享)相关头部信息来表明哪些请求方法和头信息是被允许的。只有当预检请求成功返回,并且服务器明确许可了后续的实际请求,浏览器才会继续发送实际的HTTP请求。

  1. 非简单请求方法:当HTTP请求的方法是除GET、HEAD或POST之外的方法时,如PUT、DELETE等。
  2. 自定义请求头:请求中包含自定义的HTTP头信息,或者某些特殊的头信息(如Content-Type不是application/x-www-form-urlencodedmultipart/form-datatext/plain)。自定义请求头如:Authorization
  3. 发送的请求数据是不可序列化的数据类型,比如 BlobFile 等。