Ответ 1
Предполагается, что метод HTTP чувствителен к регистру, но заголовки HTTP должны быть нечувствительны к регистру, согласно RFC 2616.
Почему он конвертируется в нижний регистр? В Firefox это выглядит так: "X-Requested-With". Хотя в IE это выглядит так: "x-request-with"
Предполагается, что метод HTTP чувствителен к регистру, но заголовки HTTP должны быть нечувствительны к регистру, согласно RFC 2616.
Я заметил нечто подобное. Взгляните на пример кода и что он делает, когда я добавляю некоторые пользовательские заголовки HTTP. Сначала это код JavaScript, а затем дамп Fiddler (только пользовательские заголовки) из IE8, Safari4 и Firefox3. Обратите внимание, что 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("");
}
User-Agent: 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
User-Agent: 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
User-Agent: 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