5

如果引用页面是使用安全协议传输的,则客户端不应Referer在(非安全)HTTP 请求中包含标头字段。” https://www.rfc-editor.org/rfc/rfc2616#section-15.1.3

根据标准,https://google.com不应将Referer标头发送到非安全站点,但确实如此。其他 HTTPS 站点是否将Referer标头发送到 HTTP 站点?

所有这些测试都是使用 Chrome v33.0.1750.117 完成的

要运行测试,我转到第一页,然后打开控制台并手动执行重定向,使用location = "http://reddit.com"

谷歌是否在做一些特别的事情来保留Referer标题?是否有保留Referer标头的 HTTPS 站点列表?是否还有其他情况Referer可以删除标头?

4

3 回答 3

10

当您使用 Google Chrome 进行 Google 搜索时,搜索结果中会显示以下标签:

<meta content="origin" id="mref" name="referrer">

origin值意味着应该提供原始域名,而不是完全省略Refererwhen to httpfrom ,而不是提供站点内的确切页面(例如,搜索字符串将保持私有)。https


另一方面,像龙虾这样的链接聚合器具有以下内容,这确保了整个 URL 将alwaysReferer(由 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

https://bugzilla.mozilla.org/show_bug.cgi?id=704320

http://wiki.whatwg.org/wiki/Meta_referrer

于 2014-07-13T03:22:47.720 回答
5

cnst 在上面正确回答了这个问题;它的内容=“原点”。这会强制浏览器使用 HTTPS->HTTPS 和 HTTPS->HTTP 来获取请求标头:

http-referer=https://www.google.com  

此功能允许网站在不将 URL 参数泄露给第三方的情况下获得流量信用。这太棒了,因为它比人们过去在这里使用的要少得多。

目前有三个相互竞争的规格。我不知道哪个是权威的,并怀疑它是混合的。在大多数方面,它们是相似的。

这是我知道的可用支持;如果我错了或遗漏了什么,我希望人们能告诉我。

现在:

  • Chrome 17+ 在桌面上支持此功能
  • 适用于移动设备的 Chrome 25+
  • iPad 和 iPhone 上的 Safari 6

未知版本:

  • Desktop Safari 7 支持此功能;早期版本可能支持,但我没有浏览器来确认。

现在即将真正即将推出:

于 2015-04-08T03:48:13.833 回答
2

我认为这是因为谷歌使用

<meta name="referrer" content="always">

因此,当一个人从 HTTPS 转到 HTTP 站点时,会保留引荐来源网址。否则,如果没有这个,推荐人将被剥夺。

于 2014-02-20T23:48:20.967 回答