Tại sao nó chuyển đổi sang chữ thường? Trong Firefox, nó có dạng: "X-Requested-With". Trong khi ở IE, nó đi như sau: "x-yêu cầu-với"trong IE, tiêu đề "X-Requested-With" của jquery trở thành "x-requested-with" (chữ thường)
Trả lời
Phương thức HTTP được cho là phân biệt chữ hoa chữ thường, nhưng tiêu đề HTTP được coi là phân biệt dạng chữ, theo số RFC 2616.
Vì vậy, câu trả lời cho "tại sao IE làm điều này" là "bởi vì nó có thể" ;-) – VolkerK
Tôi đoán vậy! Tôi biết rằng khi nói đến tiêu đề HTTP, Microsoft (IE & IIS) thích làm mọi thứ thấp hơn. Không có ý tưởng tại sao, nhưng sẽ đoán rằng nó cho một cái gì đó trong nội bộ của IIS. –
Tôi đã nhận thấy điều gì đó tương tự. Hãy xem mã mẫu và những gì nó làm khi tôi thêm một số tiêu đề HTTP tùy chỉnh. Đầu tiên là mã JavaScript và sau đó là kết xuất Fiddler (chỉ tiêu đề tùy chỉnh) từ IE8, Safari4 và Firefox3. Lưu ý rằng trường hợp danh dự của Firefox, IE chuyển thành chữ thường và Safari chuyển thành chữ hoa.
Tuy nhiên, như đã đề cập, chúng được xử lý như trường hợp không nhạy cảm bởi máy chủ để nó thực sự không quan trọng.
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 (compatible; 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, như Gecko) Version/4.0 Safari/528,17
X-Lowercase: X-lowercase
X-Uppercase: X-UPPERCASE
X-Camelcase: X-CamelCase
X-Propercase: X-Propercase
Tác nhân người dùng: 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
Tại sao bạn quan tâm? Tiêu đề HTTP phân biệt chữ hoa chữ thường. Ngoài ra, bạn có thể muốn thêm chi tiết hơn cho câu hỏi của mình. Ví dụ mã, chính xác nơi bạn phát hiện trường hợp của tiêu đề đã thay đổi, v.v. –
Sẽ rất hữu ích nếu bạn biết tại thời điểm nào nó trở thành chữ thường. Ví dụ, xem trên dây với một trình gỡ rối mạng như Fiddler. – EricLaw