2009-09-09 31 views
22

Tôi muốn biết liệu chuyển hướng 301 luôn giữ nguyên liên kết giới thiệu hay không.Chuyển hướng 301 có luôn giữ nguyên liên kết giới thiệu không?

Tôi tạo một trang có tên "gotoorig_https.html" chứa liên kết đến trang "orig_https.asp".
"orig_https.asp" sẽ chuyển hướng 301 đến "dest.html" hiển thị tài liệu.referrer.

Trong trường hợp này,

http page(gotoorig_https.html) -> orig_https.asp(301 redirect)-> https page (dest.html) <--the referrer preserves 
https page(gotoorig_https.html) -> orig_https.asp(301 redirect)-> https page (dest.html) <--the referrer preserves 

tôi cũng làm cho một trang gọi là "gotoorig_http.html", trong đó có một siêu liên kết đến một trang "orig_http.asp". "orig_http.asp" sẽ chuyển hướng 301 đến "dest.html" hiển thị tài liệu.referrer.

Trong trường hợp này,

http page(gotoorig_http.html) -> orig_http.asp(301 redirect)-> http page (dest.html) <--the referrer preserves 
https page(gotoorig_http.html) -> orig_http.asp(301 redirect)-> http page (dest.html) <--the referrer DOES NOT preserve. 

Tại sao trường hợp cuối cùng xảy ra?

Trả lời

26

RFC không chỉ định bất kỳ hành vi cụ thể nào của giới thiệu ở trạng thái 301, cũng như hành vi cụ thể 301 trong định nghĩa tiêu đề Referer. Do đó, tôi phải nói rằng mặc dù hành vi bảo quản liên kết giới thiệu này là hợp lý, nhưng nó không được định nghĩa trong RFC và do đó bạn không bao giờ có thể chắc chắn.

+0

+1 vì không dựa vào hành vi đã nói. Những người tham gia có thể bị giả mạo! – sybreon

-2

Hơn https, các trình duyệt không gửi REFERRERS. Đây là trong RFC.

+4

Không đúng sự thật. Giữa các trang HTTPS không có gì trong thông số kỹ thuật về các tiêu đề liên kết giới thiệu, nhưng thông số này cho biết chúng không được gửi khi chuyển đổi giữa HTTP và HTTPS – blowdart

11

Khi đi giữa HTTP và HTTPS, thông số HTTP cho biết không nên gửi tiêu đề người giới thiệu (xem 15.1.3 trong RFC2616). Tuy nhiên, đặc điểm kỹ thuật không cho biết điều gì sẽ xảy ra giữa các trang HTTPS.

Mặc định firefox mặc định bỏ qua thông số trong trường hợp này, nhưng có thể được thực hiện để phù hợp bằng cách đặt cài đặt cấu hình mạng.http.sendSecureXSiteReferrer.

Các vấn đề liên quan