gpt4 book ai didi

jquery - 跨域 AJAX REST 服务 HTTP header

转载 作者:行者123 更新时间:2023-12-03 22:47:15 25 4
gpt4 key购买 nike

我正在调查跨域问题,我有一些 REST 服务调用。Chrome 是这样说的:Access-Control-Allow-Headers 不允许请求 header 字段 x-requested-with这是我从 Network -> Headers 选项卡中获得的内容:

Request URL: rest_url_on_other_domain
Request Method:OPTIONS
Status Code:200 OK
Request Headers:
Access-Control-Request-Headers:Origin, x-requested-with, content-type, accept
Access-Control-Request-Method:POST
Origin:http://localhost:8080

Response Headers
Access-Control-Allow-Headers:Content-Type, Accept
Access-Control-Allow-Methods:GET, POST
Access-Control-Allow-Origin:*
Access-Control-Max-Age:1728000
Cache-Control:no-cache, no-store
Connection:keep-alive
Content-Length:0
Date:Fri, 30 Dec 2011 11:29:12 GMT
Expires:-1
Pragma:no-cache
Server:nginx/1.0.2

有人可以解释一下这个 HTTP header 吗?问题是什么 - 服务器上的某些 header 检查失败或客户端(浏览器)上的某些 header 检查失败。这个 Access header 的真正想法是什么?用简单的话详细解释一下,只是为了感受一下,剩下的我自己学吧。提前致谢!

最佳答案

您看到的是跨源资源共享预检请求。此类请求的请求方法是OPTIONS。这是浏览器用来请求发送实际请求的权限的请求。您可以在这里了解更多信息:http://www.html5rocks.com/en/tutorials/cors/

在这种特殊情况下,浏览器会请求一堆 header (在 Access-Control-Request-Headers header 中)。现在,作为响应,Access-Control-Allow-Headers header 应包含所有请求的 header 。万一,如果请求的 header 数量多于请求的 header ,浏览器将不会抛出任何异常。在此示例中,您的响应 header 应如下所示:

Access-Control-Allow-Headers: Origin, x-requested-with, content-type, accept

所有其他响应 header 看起来都正常。一旦服务器发送此响应,浏览器将发送第二个请求,这是对数据的实际请求。

关于jquery - 跨域 AJAX REST 服务 HTTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8679848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com