我最近实现了一个CORS IDispatchMessageInspector,它通过BehaviorExtensionElement应用于我正在进行的大型项目中的服务,以允许CORS支持(来自于从jQuery Ajax调用调用REST WCF Web服务)。
当前实现拦截所有对指定了CORS行为的端点的OPTIONS方法调用,并使用适当的头(和200)进行响应。目前,只有在CORS请求的情况下,服务才会看到OPTIONS请求,但我不能保证这种情况总是如此。
为了将来的证明和可扩展性,在CORS之外的OPTIONS请求的最常见原因是什么?是否有计划在未来的WC3规范(as this seems to suggest)中扩展此类请求的使用?是否有任何我应该尝试使用的用例?
答案 0 :(得分:2)
反过来说。
CORS preflight request将是一个OPTIONS请求,其中包含Origin
和Access-Control-Request-Method
请求标头,您可以通过它来识别它。
任何其他OPTIONS请求就是这样,并且可以由任何客户端以任何理由发送。
答案 1 :(得分:2)
已知WebDAV客户端使用OPTIONS来探测对协议级别和方法支持的支持(参见RFC 4918)。