2009-07-15 6 views
13

なぜ小文字に変換されますか? Firefoxでは、「X-Requested-With」のようになります。 IEでは、「x-requested-with」がIEの場合、jqueryの "X-Requested-With"ヘッダーは "x-requested-with"(小文字)になります

+0

なぜ気になるのですか? HTTPヘッダーは大文字と小文字を区別しません。また、質問に詳細を追加することもできます。ヘッダーの大文字小文字が変更されたことを検出した場所のコード例 –

+0

どの時点で小文字になるかを知ることは役に立ちます。たとえば、Fiddlerのようなネットワークデバッガでワイヤを監視します。 – EricLaw

答えて

15

HTTPメソッドは大文字と小文字が区別されますが、HTTPヘッダーは大文字小文字を区別しないと考えられています(RFC 2616)。

+11

それでは、なぜ「IEはこれをやっているのですか」という答えは「できますから」です;-) – VolkerK

+0

私はそう思います! HTTPヘッダーに関しては、Microsoft(IEとIIS)はすべてを小文字にしたいと思っています。理由は分かりませんが、IISの内部に何かのものがあると推測します。 –

9

私は似たようなことに気がつきました。カスタム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(""); 
} 

のUser-Agent:Mozillaの/ 4.0(互換; MSIE 8.0; Windows NTの6.0;トライデント/ 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、)バージョン/ 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 
関連する問題