【发布时间】:2015-11-04 04:36:45
【问题描述】:
我向 HTTP(非 HTTPS)站点发出 POST 请求,在 Chrome 的开发者工具中检查了该请求,发现它在将其发送到服务器之前添加了自己的标头:
Upgrade-Insecure-Requests: 1
在Upgrade-Insecure-Requests上搜索后,我只能找到information关于服务器发送this标头:
Content-Security-Policy: upgrade-insecure-requests
这似乎是相关的,但仍然非常不同,因为在我的情况下,客户端在 Request 中发送标头,而我发现的所有信息都是关于服务器发送相关标头的一个响应。
那么为什么 Chrome (44.0.2403.130 m) 会在我的请求中添加 Upgrade-Insecure-Requests,它有什么作用?
2016 年 8 月 24 日更新:
此标头已添加为W3C Candidate Recommendation,现在已得到官方认可。
对于那些刚刚遇到这个问题并且感到困惑的人,Simon East 的excellent answer 很好地解释了它。
Upgrade-Insecure-Requests: 1 标头曾经是 HTTPS: 1 in the previous W3C Working Draft,在正式接受更改之前,Chrome 已悄悄地重命名。
(在此过渡期间,当没有关于此标头的官方文档且 Chrome 是唯一发送此标头的浏览器时,提出了此问题。)
【问题讨论】:
-
Firefox 也可以。
-
必须是新的;我首先在 Firefox 上进行开发,这个标头肯定不是去年从 Firefox 发送的。
标签: google-chrome http http-headers upgrade-insecure-requests