2009-07-15 10 views
13

क्यों बनता है यह लोअरकेस में क्यों परिवर्तित हो रहा है? फ़ायरफ़ॉक्स में यह इस प्रकार है: "एक्स-अनुरोधित-साथ"। आईई में रहते हुए, यह इस प्रकार है: "x-request-with", jquery का "एक्स-अनुरोधित-साथ" शीर्षलेख "x-request-with" (लोअरकेस)

+0

आपको परवाह क्यों है? HTTP शीर्षलेख केस असंवेदनशील हैं। साथ ही, आप अपने प्रश्न में अधिक जानकारी जोड़ना चाह सकते हैं। कोड उदाहरण, बिल्कुल जहां आप पता लगाते हैं कि हेडर का मामला बदल गया है, आदि –

+0

यह जानना उपयोगी होगा कि यह किस बिंदु पर लोअरकेस बन जाता है। उदाहरण के लिए, फिडलर जैसे नेटवर्क डीबगर के साथ तार पर देखें। – EricLaw

उत्तर

15

HTTP विधि केस-संवेदी होना चाहिए, लेकिन RFC 2616 के अनुसार HTTP शीर्षलेख केस-असंवेदनशील माना जाता है।

+11

तो "आईई ऐसा क्यों कर रहा है" का जवाब है "क्योंकि यह कर सकता है" ;-) – VolkerK

+0

मुझे ऐसा लगता है! मुझे पता है कि जब HTTP हेडर की बात आती है, तो माइक्रोसॉफ्ट (आईई और आईआईएस) सबकुछ कम मामला बनाना पसंद करता है। कोई विचार क्यों नहीं, लेकिन अनुमान लगाएगा कि यह आईआईएस के आंतरिक में कुछ के लिए है। –

9

मैंने कुछ ऐसा ही देखा था। नमूना कोड पर एक नज़र डालें और जब मैं कुछ कस्टम HTTP शीर्षलेख जोड़ता हूं तो यह क्या करता है। पहला जावास्क्रिप्ट कोड है और फिर आईई 8, सफारी 4 और फ़ायरफ़ॉक्स 3 से फिडलर डंप (केवल कस्टम हेडर) है। ध्यान दें कि फ़ायरफ़ॉक्स सम्मान का मामला है, आईई लोअरकेस में बदल जाता है और सफारी परिवर्तित करने के लिए बदल जाता है।

हालांकि, जैसा कि पहले से ही उल्लेख किया गया है, इन्हें सर्वर द्वारा असंवेदनशील माना जाता है, इसलिए इससे कोई फर्क नहीं पड़ता।

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(""); 
} 

उपयोगकर्ता-एजेंट: मोज़िला/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 

उपयोगकर्ता-एजेंट: Mozilla/5.0 (विंडोज, यू, Windows NT 6.0, en-US) AppleWebKit/528.18 (KHTML, छिपकली की तरह) संस्करण/4.0 सफारी/528.17

X-Lowercase: X-lowercase 
X-Uppercase: X-UPPERCASE 
X-Camelcase: X-CamelCase 
X-Propercase: X-Propercase 

उपयोगकर्ता-एजेंट: मोज़िला/5.0 (विंडोज़; यू; विंडोज एनटी 6.0; एन-यूएस; आरवी: 1.9 .0.6) गेको/200 9 1 9 13 फ़ायरफ़ॉक्स/3.0.6 (.NET CLR 3.5.30729)

x-lowercase: X-lowercase 
x-Propercase: X-Propercase 
x-CamelCase: X-CamelCase 
x-UPPERCASE: X-UPPERCASE 
संबंधित मुद्दे