使用没有预检请求的自定义标题进行CORS PUT / DELETE

时间:2012-12-06 05:49:34

标签: jquery http cors

有没有办法使用jquery执行此操作而没有多余的OPTIONS请求?

P.S。顺便说一下,这种工作流程的伟大使命是什么?

1 个答案:

答案 0 :(得分:1)

所以,现在显然OPTIONS可能很有用,但有点奇怪(在我看来)的方式。

所有 PUT DELETE 查询以及带有修改标头的查询都是带有此类请求的预检。最重要的任务是检查资源可用性以提供某种操作。

例如,让我们考虑使用ABUBAKA标头在http://a.com/users/100500资源上执行 PUT 操作。 预检OPTIONS请求将包含:

  • 访问控制请求方法:PUT
  • 访问控制请求标题:ABUBAKA

使用此信息,您可以决定如何处理此类请求。例如,这样的资源可以支持PUT和DELETE操作,并且使用ABUBAKA头是可以的。在这种情况下,响应应该至少包含这样的标题

  • Access-Control-Allow-Methods:PUT,DELETE
  • Access-Control-Allow-Headers:ABUBAKA

因此,OPTIONS是某种政策方法。