Hậu quả của việc sử dụng Tiêu đề vị trí tương đối là gì?


17

Theo thông số kỹ thuật , các tiêu đề Vị trí được sử dụng trong chuyển hướng yêu cầu tên máy chủ

HTTP/1.1 301 Moved Permanently
...
Location: http://example.com/foo/baz/bar

Tuy nhiên, vào năm 2012, hầu hết các trình duyệt web sẽ nhận ra một đường dẫn tương đối và chuyển hướng bạn đến vị trí mới bằng tên máy chủ ban đầu

HTTP/1.1 301 Moved Permanently
...
Location: /foo/baz/bar

Có bất kỳ hậu quả tiêu cực / đáng ngạc nhiên nào khi sử dụng URL tương đối trong tiêu đề Vị trí không? Mối quan tâm đặc biệt của tôi là làm thế nào Google / công cụ tìm kiếm sẽ diễn giải điều này, nhưng nếu có bất cứ điều gì khác tôi không nghĩ về việc tôi muốn nghe nó.


Bạn có thể trích dẫn bit chính xác mà bạn nhận được yêu cầu đó không? Không thử thách, tôi chỉ không thấy ngay lập tức và không cảm thấy muốn đọc toàn bộ RFC để tìm thấy nó. Ngoài ra, bạn đang trích dẫn thông số HTTP 1.0 nhưng sử dụng các tiêu đề HTTP 1.1 trong các ví dụ của bạn. (Điều này có thể hoặc không thể thay đổi nội dung được phép.)
Su '

Phần 10.11. tools.ietf.org/html/rfc1945#page-44 Cũng không có gì, theo hiểu biết của tôi, trong thông số 1.1 "sửa" điều này.
Alan Storm

Câu trả lời:


15

Theo phiên bản hiện tại của tiêu chuẩn HTTP / 1.1, RFC 2616, giá trị của Locationtiêu đề phải là một URI tuyệt đối .

Tuy nhiên, trong tiêu chuẩn dự thảo do Nhóm công tác HTTPbis chuẩn bị để cuối cùng thay thế RFC 2616, điều này đã được thay đổi để cho phép các URI tương đối, rõ ràng là vì :

"Định nghĩa của tiêu đề Vị trí [trong RFC 2616] khác nhau theo nhiều cách khác nhau về cách ít nhất các trình duyệt Web cần xử lý chúng để tương tác với nội dung trên Web"

Trong thực tế, AFAIK chỉ là về tất cả các trình duyệt và công cụ tìm kiếm chính hiểu và chấp nhận chuyển hướng HTTP đến các URL tương đối. Tuy nhiên, cho đến khi bản nháp HTTPbis một ngày nào đó trở thành tiêu chuẩn chính thức và được áp dụng rộng rãi, sẽ luôn có một số tác nhân người dùng mới hoặc mơ hồ thực hiện tiêu chuẩn hiện tại cho thư và chỉ chấp nhận URL tuyệt đối. Do đó, điều an toàn cần làm bây giờ là chỉ sử dụng các URL tuyệt đối trong Locationcác tiêu đề, theo đề xuất của luật Postel :

"Hãy thận trọng trong những gì bạn gửi, tự do trong những gì bạn chấp nhận."


3
RFC 2616 hiện đã bị lỗi thời bởi 7231, cho phép các URL tương đối trong các tiêu đề Vị trí. Do đó, các tác nhân người dùng triển khai tiêu chuẩn cho thư sẽ chấp nhận URL tương đối ngay bây giờ
ZoFreX

6

Mục 14.30 của HTTP 1.1 RFC http://www.w3.org/Prot Protocol / rfc2616 / rfc2616-sec14.html # sec14.30 không khác biệt đáng kể. Tôi không biết rằng bạn sẽ thấy bất kỳ giới hạn thực tế thực tế nào cho việc này.

Lần duy nhất tôi thấy thậm chí cảnh báo về vấn đề này là khi tôi sử dụng để kiểm tra Lynx và vị trí không tuyệt đối, nó sẽ cảnh báo bạn "Giá trị vị trí không tuyệt đối" - nhưng nếu tôi nhớ đúng thì nó vẫn cho phép bạn đi đến địa điểm mới. Tôi mới thử Lynx 2.8.7 và có vẻ như nó không còn làm điều đó nữa, mặc dù đó có thể là vấn đề cấu hình.

Bây giờ, bạn nói:

Mối quan tâm đặc biệt của tôi là làm thế nào Google / công cụ tìm kiếm sẽ diễn giải điều này, nhưng nếu có bất cứ điều gì khác tôi không nghĩ về việc tôi muốn nghe nó.

Tôi tin rằng điều này đảm bảo một bài kiểm tra. Tôi đã thiết lập một url, đặt nó vào sơ đồ trang web xml của trang web của bạn và để url đó là một chuyển hướng như bạn mô tả. Tôi nghĩ việc cần làm là kiểm tra nó bằng Google Webmaster Tools và xem liệu có hậu quả tiêu cực nào không.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.