浏览器 Upgrade-Insecure-Requests:1 请求头的作用
今天在调试网站时,发现 html 请求头中有个 Upgrade-Insecure-Requests:1 参数,查了一下相关的资料,感觉挺有意思,记录一下。html Upgrade-Insecure-Requests:1 请求头HTTP Upgrade-Insecure-Requests 请求头向服务器发送一个客户端对HTTPS加密和认证响应良好,并且可以成功处理的信号,可以请求所属网站所有的H..
今天在调试网站时,发现 html 请求头中有个 Upgrade-Insecure-Requests:1 参数,查了一下相关的资料,感觉挺有意思,记录一下。
html Upgrade-Insecure-Requests:1 请求头
HTTP Upgrade-Insecure-Requests 请求头向服务器发送一个客户端对HTTPS加密和认证响应良好,并且可以成功处理的信号,可以请求所属网站所有的HTTPS资源。
在https页面中,如果调用了http资源,那么浏览器就会抛出一些错误。为了改变成这一状况,chrome(谷歌浏览器)会在http请求中加入 ‘Upgrade-Insecure-Requests: 1’ ,服务器收到请求后会返回 “Content-Security-Policy: upgrade-insecure-requests” 头,告诉浏览器,可以把所属本站的所有 http 连接升级为 https 连接。
例:
本使用https协议的链接:
http://feiniaomy.com/css/style.css
http://feiniaomy.com/js/js.js
http://feiniaomy.com/img.jpg
分别升级https后的链接:
https://feiniaomy.com/css/style.css
https://feiniaomy.com/js/js.js
https://feiniaomy.com/img.jpg
注意:
1、升级后的链接在服务器端必需有对应的资源。
2、只会升级网站内部的链接,对于不属于网站同部的链接,则保持默认状态。
3、并不是所以的浏览器兼容此 HTTP 请求头,兼容表如下
服务器响应代码
PHP响应代码
1、
header("Content-Security-Policy: upgrade-insecure-requests");
2、
header('Upgrade-Insecure-Requests: 1');
HTML响应代码
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)