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