gpt4 book ai didi

jquery - 为什么即使缺少 Access-Control-Allow-Headers,CORS 请求也会成功?

转载 作者:可可西里 更新时间:2023-11-01 16:52:24 26 4
gpt4 key购买 nike

引自 Opera documentation (我找到的第一个链接):

Standard or custom headers are appropriate values for Access-Control-Allow-Headers. For the cross-origin request to succeed, its value must match (or include) the value of the Access-Control-Request-Headers header.

我正在使用 jQuery 发送请求。如果我注释掉 setRequestHeader:

$(function() {            
$.ajax({
url: 'http://silex.local/users',
method: 'GET',
beforeSend : function(req) {
//req.setRequestHeader('Authorization', 'FID ds7sd6:32n8942b3672n2');
}
});
});

它不应该工作,因为服务器正在响应:

HTTP/1.0 200 OK
Date: Sat, 11 Aug 2012 02:15:14 GMT
Server: Apache/2.2.22 (Win32) PHP/5.3.14
X-Powered-By: PHP/5.3.14
Cache-Control: no-cache
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE
Access-Control-Allow-Headers: Authorization
Connection: close
Content-Type: application/json; charset=utf-8

当客户端请求时:

GET http://silex.local/users HTTP/1.1
Host: silex.local
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1
Accept: */*
Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Proxy-Connection: keep-alive
Referer: http://localhost/test.html
Origin: http://localhost
Cache-Control: max-age=0

我错过了什么?对不起,如果这是一个奇怪的问题,我第一次使用 CORS...

最佳答案

我认为您误解了 Access-Control-Allow-Headers 的作用(措辞不当的引用没有帮助)。它允许服务器告诉浏览器哪些 header 可接受以设置跨源 XHR 请求。

这并不意味着这些 header 是强制性的。如果脚本没有设置 header ,请求仍然允许发生。

关于jquery - 为什么即使缺少 Access-Control-Allow-Headers,CORS 请求也会成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11911363/

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