我注意到了类似的事情。查看示例代码以及添加一些自定义 HTTP 标头时它的作用。首先是 JavaScript 代码,然后是来自 IE8、Safari4 和 Firefox3 的 Fiddler 转储(仅限自定义标头)。请注意,Firefox 支持大小写,IE 转换为小写,Safari 转换为正确的。
但是,正如已经提到的,这些被服务器视为不区分大小写,所以它真的没关系。
function doXHR() {
var request = new XMLHttpRequest();
request.open('GET', '/header/header.txt');
request.setRequestHeader('x-lowercase', 'X-lowercase');
request.setRequestHeader('x-Propercase', 'X-Propercase');
request.setRequestHeader('x-CamelCase', 'X-CamelCase');
request.setRequestHeader('x-UPPERCASE', 'X-UPPERCASE');
request.onreadystatechange = function() {
if (request.readyState == 4) {
console.log('Received XMLHttpRequest callback: \n' + request.responseText);
}
};
request.send("");
}
用户代理:Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.0;Trident/4.0;SLCC1;.NET CLR 2.0.50727;.NET CLR 3.5.21022;.NET CLR 3.5.30729;.NET CLR 3.0.30618)
x-lowercase: X-lowercase
x-camelcase: X-CamelCase
x-uppercase: X-UPPERCASE
x-propercase: X-Propercase
用户代理:Mozilla/5.0(Windows;U;Windows NT 6.0;en-US)AppleWebKit/528.18(KHTML,如 Gecko)版本/4.0 Safari/528.17
X-Lowercase: X-lowercase
X-Uppercase: X-UPPERCASE
X-Camelcase: X-CamelCase
X-Propercase: X-Propercase
用户代理:Mozilla/5.0(Windows;U;Windows NT 6.0;en-US;rv:1.9.0.6)Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)
x-lowercase: X-lowercase
x-Propercase: X-Propercase
x-CamelCase: X-CamelCase
x-UPPERCASE: X-UPPERCASE