为什么不为Google HTTPS移除引荐 - > HTTP

时间:2014-02-20 23:39:34

标签: javascript http-headers referrals

Clients SHOULD NOT include a Referer header field in a (non-secure) HTTP request if the referring page was transferred with a secure protocol. https://tools.ietf.org/html/rfc2616#section-15.1.3

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

所有这些测试均使用Chrome v33.0.1750.117

完成

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

实施例

  

https://google.com - > http://www.reddit.com   保留推荐

     

https://startpage.com/ - > http://www.reddit.com推介已被删除

     

https://bankofamerica.com - > http://reddit.com推介已被删除

     

https://facebook.com - > http://reddit.com推介已被删除

Google是否会采取特别措施来保留推介?是否有保留推介的HTTPS站点列表?是否还有其他情况需要删除推荐?

谢谢!

3 个答案:

答案 0 :(得分:9)

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

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

origin值表示从Referer转到http时,不是完全省略https,而应提供原始域名,但不提供确切的页面在网站内(例如搜索字符串将保持私密)。


另一方面,lobsters等链接聚合器具有以下功能,可确保在always(通过Chrome和Safari等浏览器)中提供整个网址Referer,因为链接故事是公开的:

<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

答案 1 :(得分:4)

cnst在上面正确回答了这个问题;它的内容=“起源”。这迫使浏览器使用HTTPS-&gt; HTTPS和HTTPS-&gt; HTTP来获取请求标头:

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

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

目前有三个相互竞争的规格。我不知道哪一个是权威的,并且怀疑它是混合的。在大多数情况下,它们都很相似。

我知道这里有可用的支持;如果我错了或遗失任何东西,我会很乐意让人知道。

现在:

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

未知版本:

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

即将上线:

答案 2 :(得分:2)

我认为是因为Google使用

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

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