可以使用 OPTIONS 方法对服务器发起请求,响应报文包含一个 Allow 首部字段,该字段的值表明了服务器支持的所有 HTTP 方法
在 CORS(跨域资源共享) 中,可以使用 OPTIONS 方法发起一个预检请求,以检测实际请求是否可以被服务器所接受。预检请求报文中的 Access-Control-Request-Method 首部字段告知服务器实际请求所使用的 HTTP 方法;Access-Control-Request-Headers 首部字段告知服务器实际请求所携带的自定义首部字段。服务器基于从预检请求获得的信息来判断,是否接受接下来的实际请求。
某些请求不会触发 CORS 预检请求。我们称这样的请求为“简单请求”。若请求满足所有下述条件,则该请求可视为“简单请求”:
GETHEADPOSTAcceptAccept-LanguageContent-LanguageContent-Type (需要注意额外的限制)Content-Type 的值仅限于下列三者之一:
text/plainmultipart/form-dataapplication/x-www-form-urlencoded可以简单的理解,简单请求以外的请求就是复杂请求。
请注意,复杂请求会发出OPTIONS预检请求,并只携带设置的headers字段,而不会携带这些字段具体的值。因此服务器获取不到headers字段的值,应该先通过这次请求,才能接收到真实的请求。
此外,真实的请求依然需要服务器配置相关的跨域设置。
原文:https://www.cnblogs.com/diyichen/p/11593191.html