[英]Why isn't the the Referer header removed for Google HTTPS -> HTTP?
如果引用頁面是使用安全協議傳輸的,則客戶端不應在(非安全)HTTP 請求中包含
Referer
標頭字段。” https://tools.ietf.org/html/rfc2616#section-15.1.3
根據標准, https: Referer
不應將Referer
標Referer
送到非安全站點,但確實如此。 其他 HTTPS 站點是否將Referer
標Referer
送到 HTTP 站點?
所有這些測試都是使用 Chrome v33.0.1750.117 完成的
要運行測試,我轉到第一頁,然后打開控制台並使用location = "http://reddit.com"
手動執行重定向:
https://google.com -> http://www.reddit.com保留Referer
標頭
https://startpage.com/ -> http://www.reddit.com Referer
標頭被剝離
https://bankofamerica.com -> http://reddit.com Referer
標頭被剝離
https://facebook.com -> http://reddit.com Referer
標頭被剝離
Google 是否做了一些特別的事情來保留Referer
標頭? 是否有保留Referer
標頭的 HTTPS 站點列表? 是否有其他任何刪除Referer
標頭的情況?
當您使用 Google Chrome 進行 Google 搜索時,搜索結果中會出現以下標簽:
<meta content="origin" id="mref" name="referrer">
origin
值意味着,當從https
轉到http
時,不是完全省略Referer
,而是應提供原始域名,而不是站點內的確切頁面(例如,搜索字符串將保持私有)。
另一方面,像龍蝦這樣的鏈接聚合器具有以下內容,這確保了整個 URL 將always
在Referer
提供(通過 Chrome 和 Safari 等瀏覽器),因為鏈接故事無論如何都是公開的:
<meta name="referrer" content="always" />
截至 2014 年年中,這個meta[@name="referrer"]
只是 HTML5 的一個提議功能,並且它似乎沒有在 Gecko 中實現,例如 - 只有 Chrome 和 Safari 聲稱支持它.
http://smerity.com/articles/2013/where_did_all_the_http_referrers_go.html
cnst 在上面正確回答了這個問題; 它的內容=“起源”。 這會迫使瀏覽器通過 HTTPS->HTTPS 和 HTTPS->HTTP 獲得請求標頭:
http-referer=https://www.google.com
此功能允許網站在不將 URL 參數泄露給第三方的情況下獲得流量信用。 它很棒,因為它比過去人們在這里使用的要少得多。
目前有三個相互競爭的規格。 我不知道哪個是權威的,並且懷疑它是混合的。 在大多數方面,它們是相似的。
這是我知道的可用支持; 如果我錯了或遺漏了什么,希望人們讓我知道。
現在:
未知版本:
現在即將到來:
我認為這是因為谷歌使用
<meta name="referrer" content="always">
因此,當一個人從 HTTPS 轉到 HTTP 站點時,會保留引用者。 否則,如果沒有這個,推薦人將被剝離。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.