是HTTP头的Referer从HTTPS页面去一个HTTP网页时发出?(Is HTTP header

2019-06-21 08:56发布

一些测试后,我开始到达,当一个人点击到HTTP页面从一个HTTPS浏览器不发送的Referer HTTP标头的结论。

什么安全的原因是什么? 是在标准规定的地方?

Answer 1:

在HTTP RFC状态,在第15.1.3编码URI的敏感信息 :

客户端不应该包含在(非安全)的HTTP请求一个Referer标头字段,如果引用页用安全协议传送。

所以,这是预期/标准行为。



Answer 2:

其实它不是直线前进了(2014年起),根据此对引荐政策W3C文档 。

默认行为是从HTTPS转到HTTP时,浏览器将不会发送引荐信息。 然而,浏览器会在从HTTPS转到HTTPS时发送引荐。

此外,在HTML5中,有一个引荐一个新的meta标签,看起来像这样:

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

新的浏览器已经实现了这个 。 所以,无论是否浏览器将发送引荐,将取决于在不久的将来这个元标记。 如果这个元标记没有在页面的HTML在内,那么浏览器将使用默认的行为。

以下是引用meta标签的内容属性的可能值:

  • 无引荐:推荐人将不会被发送,无论HTTP或HTTPS的
  • 产地:只有原点(主)域将被作为推荐人
  • 原点时,crossorigin:相同的起源将发送完整的参考网址和跨原点将只发送源URL为引用
  • 没有引用,当降级:这是在设置页面上没有引用meta标签的默认行为。
  • 不安全,网址:这将始终发送引荐,无论HTTP或HTTPS的

另外,还有一些对引荐meta标签一些遗留的属性值。 这些都不再推荐,但在目前很多网站使用:

  • 永远:同无引用
  • 默认:同无引用,当降级
  • 总是:同不安全的URL

我希望这些信息将有助于别人谁刚刚发现这个帖子2014年以后。



Answer 3:

是的,在规定的标准 :

客户端不应该包含在(非安全)的HTTP请求一个Referer标头字段,如果引用页用安全协议传送



Answer 4:

原因:有时SessionIDs是URL编码。 HTTP页面可以有跨站脚本从HTTPS通信窃取会话。 为了防止这种情况,引荐未在HTTPS发送到HTTP过渡,使得URL编码sessin ID不能被窃取。



文章来源: Is HTTP header Referer sent when going to a http page from a https page?