带有自定义标头的 CORS PUT/DELETE,无需预检请求
Posted
技术标签:
【中文标题】带有自定义标头的 CORS PUT/DELETE,无需预检请求【英文标题】:CORS PUT/DELETE with custom headers without preflight request 【发布时间】:2012-11-24 03:11:23 【问题描述】:有没有办法使用 jquery 来做到这一点而没有多余的 OPTIONS 请求?
附:顺便问一下,这样的工作流程的伟大使命是什么?
【问题讨论】:
【参考方案1】:所以,现在很明显 OPTIONS 可能很有用,但方式有点奇怪(在我看来)。
所有 PUT 和 DELETE 查询,以及带有修改标头的查询都是 preflight 与此类请求。伟大的任务是检查资源可用性以提供某种操作。
例如,让我们考虑对带有 ABUBAKA 标头的 http://a.com/users/100500 资源的 PUT 操作。 Preflight OPTIONS 请求将包含:
访问控制请求方法:PUT 访问控制请求标头:ABUBAKA使用此信息,您可以决定如何处理此类请求。例如,这样的资源可以同时支持 PUT 和 DELETE 操作,并且使用 ABUBAKA 标头是可以的。在这种情况下,响应至少应包含此类标头
访问控制允许方法:PUT、DELETE 访问控制允许标头:ABUBAKA所以,OPTIONS 是某种策略方法。
【讨论】:
以上是关于带有自定义标头的 CORS PUT/DELETE,无需预检请求的主要内容,如果未能解决你的问题,请参考以下文章
web.config 中的 <cors> 标记与带有自定义标头的 httpProtocol 之间有区别吗?