忘记什么时候接触到这个标签的,今天更新导航主题模板的时候发现了这个标签,然后又重新的学习了一下,发现挺有意思的哈,这个meta是html标签不是什么“元宇宙”,它已经超出了我的认知范围,当然了,这个标签包含了太多的功能,我们今天要了解的是“Content-Security-Policy”属性及其作用。
我们以“Content-Security-Policy”参数为例,设置参数值为:“upgrade-insecure-requests”,在https页面中,如果调用了http资源,那么浏览器就会抛出一些错误。为了改变成这一状况,chrome(谷歌浏览器)会在http请求中加入 ‘Upgrade-Insecure-Requests: 1’ ,服务器收到请求后会返回 “Content-Security-Policy: upgrade-insecure-requests” 头,告诉浏览器,可以把所属本站的所有 http 连接升级为 https 连接。
代码如下,复制可以直接使用:
代码语言:javascript复制<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
其实 W3C 工作组考虑到了我们升级 HTTPS 的艰难,早在 2015 年 4 月份就出了一个 Upgrade Insecure Requests 的草案,他的作用就是让浏览器自动升级请求,这个设置不会对外域的 a 链接做处理,所以可以放心使用。
如果不想放在网页中的话,我们还可以在服务器的配置的响应头中加入:
代码语言:javascript复制header("Content-Security-Policy: upgrade-insecure-requests");
目前支持这个设置的还只有 chrome 43.0,不过我相信,CSP 将成为未来 web 前端安全大力关注和使用的内容。而 upgrade-insecure-requests 草案也会很快进入 RFC 模式。当然了“http-equiv”还有更多更好的作用,感兴趣的童鞋自己百度下吧,基本常用的服务器一般都会集成了,现在的CDN也都很完善也是可以自定义头部信息的,好了,学习了解之后一起加上吧,尤其是刚刚到https的网站最适用啦!