首页 文章

什么是“Upgrade-Insecure-Requests”HTTP标头?

提问于
浏览
204

我向HTTP(非HTTPS)网站发出了POST请求,检查了Chrome开发者工具中的请求,发现它在将其发送到服务器之前添加了自己的标头:

Upgrade-Insecure-Requests: 1

Upgrade-Insecure-Requests 上搜索后,我只能找到information关于发送this标头的服务器:

Content-Security-Policy: upgrade-insecure-requests

这似乎是相关的,但仍然非常不同,因为在我的情况下,CLIENT在请求中发送标头,而我发现的所有信息都与SERVER在响应中发送相关标头有关 .


那么为什么Chrome(44.0.2403.130米)将 Upgrade-Insecure-Requests 添加到我的请求中它又做了什么?


更新2016-08-24:

此 Headers 已添加为W3C Candidate Recommendation,现已正式认可 .

对于那些刚刚遇到这个问题并且感到困惑的人来说,Simon East的解释很好 .

Upgrade-Insecure-Requests: 1 标头曾经是 HTTPS: 1 in the previous W3C Working Draft,并且在更改正式被接受之前被Chrome重命名为 quietly .

(在此过渡期间,当此 Headers 中没有官方文档时,系统会询问此问题,Chrome是唯一一个发送此 Headers 的浏览器 . )

2 回答

  • 259

    Short answer: it's closely related to the Content-Security-Policy: upgrade-insecure-requests response header, indicating that the browser supports it (and in fact prefers it).

    它花了我30分钟的谷歌搜索,但我终于发现它埋在W3规格 .

    之所以引起混淆,是因为规范中的 Headers 是 HTTPS: 1 ,这就是Chromium实现它的方式,但在此之后_(特别是WordPress和WooCommerce),Chromium团队道歉:

    “我为破损道歉;我显然低估了开发和测试期间反馈的影响 . ” - Mike West,Chrome Issue 501842

    他们的修复是将其重命名为 Upgrade-Insecure-Requests: 1 ,并且规范已经更新以匹配 .

    无论如何,这是the W3 spec (as it appeared at the time)的解释......

    HTTPS HTTP请求标头字段向服务器发送信号,表示客户端对加密和经过身份验证的响应的首选项,并且它可以成功处理upgrade-insecure-requests指令,以使该首选项尽可能无缝地提供 . ...当服务器在HTTP请求的标头中遇到此首选项时,它应该将用户重定向到所请求资源的潜在安全表示 . 当服务器在HTTPS请求的标头中遇到此首选项时,如果请求的主机是HSTS安全的或有条件的HSTS安全[RFC6797],它应该在响应中包含Strict-Transport-Security标头 .

  • 1

    这解释了整个事情:

    HTTP Content-Security-Policy(CSP)upgrade-insecure-requests指令指示用户代理处理所有站点的不安全URL(通过HTTP提供的URL),就像它们已被安全URL(通过HTTPS提供的URL)替换一样 . 此指令适用于需要重写大量不安全遗留URL的网站 . upgrade-insecure-requests指令在block-all-mixed-content之前进行评估,如果设置了,后者实际上是no-op . 建议设置一个指令或另一个指令,但不能同时设置两个指令 . upgrade-insecure-requests指令不能确保通过第三方站点上的链接访问您站点的用户将升级到HTTPS以进行顶级导航,因此不会替换Strict-Transport-Security(HSTS)头,仍应使用适当的max-age进行设置,以确保用户不会受到SSL剥离攻击 .

    资料来源:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests

相关问题