Chúng tôi thường gặp một số vấn đề về khả năng tương tác trên Web. Một trong những vấn đề này đối với nhà cung cấp trình duyệt bị đánh vần sai tiêu đề HTTP Connection
. Các lỗi phổ biến nhất được đưa ra bởi hai hình thức này.Tiêu đề HTTP tiêu đề và nnCoection
nnCoection:
Cneonction:
Đã có một số bài viết về điều này, bao gồm Fun with HTTP headers. Thường thì nó xảy ra theo thời gian, rồi biến mất. Dường như một số trong số chúng được tạo bởi các bộ cân bằng tải như this example: NetScaler Appliance.
Bạn có biết bất kỳ trường hợp phần cứng hoặc phần mềm nào khác tạo ra các sự cố này không?
Cập nhật Đây là ví dụ trong số những trang web khác không gửi lại tiêu đề HTTP Connection
tốt.
curl -sI ehg-nokiafin.hitbox.com
HTTP/1.1 200 OK
Date: Tue, 25 Jan 2011 20:35:45 GMT
Server: Hitbox Gateway 9.3.6-rc1
P3P: policyref="/w3c/p3p.xml", CP="NOI DSP LAW NID PSA ADM OUR IND NAV COM"
Cneonction: close
Pragma: no-cache
Cache-Control: max-age=0, private, proxy-revalidate
Expires: Tue, 25 Jan 2011 20:35:46 GMT
Content-Type: text/plain
Content-Length: 23
cập nhật 2011-01-26
Trên Amazon diễn đàn về AWS, có một thread về nnCoection
. Một bình luận nói:
FYI, lý do nó viết sai từ kết nối là để internet check-sum (một số tiền đơn giản) vẫn cho biết thêm lên, cách này sự thay đổi có thể xảy ra tại mức gói dữ liệu . Nếu hoàn toàn xóa tiêu đề, nó sẽ phải ngăn chuyển tiếp phản hồi cho đến khi tiêu đề hoàn toàn được đọc, vì vậy, có thể viết lại tiêu đề, tính lại tổng kiểm tra và sau đó gửi đi.
với
sum(ord(c) for c in "Connection")
và
sum(ord(c) for c in "nnCoection")
cả mang đến cho 1040
trong trường hợp bộ cân bằng tải, có tiêu đề kết nối thứ hai. nhưng có rất nhiều trường hợp không có gì khác được gửi đi. Tôi sẽ chỉnh sửa bài đăng để đưa ra một ví dụ. – karlcow
Có vẻ tốt. Tôi nghĩ rằng đây là lỗi chính tả bởi các bộ cân bằng tải TCP để a) Khách hàng sẽ bỏ qua chúng và b) Họ không phải tính toán lại tổng kiểm tra. Đây là một cách cố ý, mặc dù khá đáng sợ để làm điều đó. Tôi đã thấy nó trước đây trong các trường hợp khác. – MarkR
@MarkR Điểm tốt về tổng kiểm tra.Cả hai lỗi chính tả là kết quả của việc hoán đổi các từ 16 bit liền kề và từ nào được sử dụng có khả năng phụ thuộc vào việc chữ C ban đầu có nằm trên một ranh giới từ hay không; vì TCP sử dụng tổng kiểm tra bổ sung của các từ 16 bit, việc trao đổi hai từ 16 bit sẽ không làm mất hiệu lực tổng kiểm tra. Mặt khác, bạn có thể sẽ không thấy những shenanigans như vậy chơi với HTTPS. –