技术讲座:CORS 预检请求(Preflight)与自定义 Header 的关系 引言 跨源资源共享(CORS)是一种机制,它允许一个资源(比如一个网页)从不同的源请求另一个源的资源。在实现这一机制的过程中,浏览器会发送一个预检请求(Preflight)来询问服务器是否允许实际的请求。本文将深入探讨为什么自定义 Header 会触发一次额外的 OPTIONS 请求,并提供一些工程级的代码示例。 CORS 预检请求(Preflight) 当浏览器需要从一个不同的源(源指的是协议+域名+端口)请求资源时,它会首先发送一个预检请求(OPTIONS)。这个请求的目的是询问服务器是否允许实际请求,以及哪些HTTP方法和头部信息可以被使用。 预检请求的格式如下: OPTIONS /resource HTTP/1.1 Host: example.com Origin: http://client.com Access-Control-Request-Method: POST Access-Control-Request-Headers: X-Custom-Header 在这个请求中,Access-C …
继续阅读“CORS 预检请求(Preflight):为什么自定义 Header 会触发一次额外的 OPTIONS 请求?”