浏览器F12调试请求头中出现的“Upgrade-Insecure-Requests1”是什么意思?

温馨提示:这篇文章已超过33天没有更新,请注意相关的内容是否还可用!

在网站添加一条http://开头的链接的视频,发现无法播放,浏览器F12控制台网络调试发现视频请求那条加载失败,链接自动变成了https://开头的,经过排查发现浏览器请求头中出现了 upgrade-insecure-requests: 1 参数导致的。请求头中出现的 upgrade-insecure-requests: 1 是什么意思?查了一下相关的资料,感觉挺有意思,记录一下。

image.png

浏览器的请求头

upgrade-insecure-requests: 1  //把服务器发送过来的请求不用 http协议 而启用 https协议

对应服务器Web响应头如下

Content-Security-Policy "upgrade-insecure-requests;"

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

举个例子

<video src="http://demo/video.mp4"  autoplay="autoplay"></video>

加上 upgrade-insecure-requests 响应头以后,浏览器在https协议中调用的资源就会理解为也是使用https协议的,从而不会提示不安全协议

<video src="https://demo/video.mp4"  autoplay="autoplay"></video>

在https网页中请求载入一个http的资源,那么它会将所有连接强制以https加密形式发送请求,这样如果请求的资源不支持https加密,那么该资源就不会被加载,从而导致无法访问调用

总结

解决办法只有两种,要么把请求资源链接改为https加密协议可以访问的,要么就是取消Web响应头 Content-Security-Policy "upgrade-insecure-requests;"  设置


以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作有参考学习价值
喜欢请点击上方【分享】,如果对您有帮助可点击上方【打赏】打赏本站。谢谢大家对阿豪运维笔记的支持。

文章作者: 阿豪运维笔记(阿豪同学)
本文链接:
文章版权:站长码字很辛苦,除非注明,否则均为阿豪运维笔记原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码