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

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

clipboard.png

阅读 81.4k
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,对象存储等服务的源,海了去了...
这就很尴尬了....

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏