chrome浏览器请求头中“Upgrade-Insecure-Requests:1”表示什么意思?

cherrylee
  • 1.2k

chrome浏览器请求头中“Upgrade-Insecure-Requests:1”表示什么意思?

clipboard.png

评论
阅读 71.8k
3 个回答

1楼的回答不完全,那是对应服务器的响应头的
Content-Security-Policy: upgrade-insecure-requests

而在浏览器的请求头出现的
Upgrade-Insecure-Requests:1
则是告诉服务器,自己支持这种操作,也就是我能读懂你服务器发过来的上面这条信息,并且在以后发请求的时候不用http而用https

W3C解释原文

我的理解,该指令用于让浏览器自动升级请求从http到https,用于大量包含http资源的http网页直接升级到https而不会报错.简洁的来讲,就相当于在http和https之间起的一个过渡作用.

举例:
<img src=“htt​​p://demo.com/demo.png”>
在https中该资源会被理解为
<img src=“htt​​ps://demo.com/demo.png”>
而不会报错

2016/09/07 感谢@_ljj110719 补充:
1楼的回答不完全,那是对应服务器的响应头的
Content-Security-Policy: upgrade-insecure-requests

而在浏览器的请求头出现的
Upgrade-Insecure-Requests:1
则是告诉服务器,自己支持这种操作,也就是我能读懂你服务器发过来的上面这条信息,并且在以后发请求的时候不用http而用https

2016/12/27
这两天我在研究Github的pages无意中发现了这个问题.
如果在https网页中跨域(已使用CORS解决)载入一个http的资源,那么它会将所有连接强制以https或wss等SSL加密形式发送请求,这样如果资源不支持https等SSL加密,那么该资源就不会被载入.
这样确保了网页的安全.但是对国内来说,不支持SSl加密的网页,cdn,对象存储等服务的源,海了去了...
这就很尴尬了....

撰写回答

登录后参与交流、获取后续更新提醒

宣传栏