前端问题:如何使网页中的http地址自动升级为https地址

缘应用场景解决方案原理官方地址

我一个搞后端开发的天天捣鼓前端的事,会不会被各位同僚念叨,哈哈。项目上的需求,需要把现在的https地址转换成http的地址,然而修改了nginx配置,摘除了证书,访问的所有静态文件依然是https,捣鼓了好半天,终于搞明白了原理,反其道而行,就有了这篇文章。

应用场景

当我们项目过于臃肿,项目经理要求你把项目重新部署,要求有安全的https证书访问,那你之前写死的或者什么乱七八糟的http开头的地址就会有错误提示。这时候的你又不愿意一个个去修改cdn地址或者其他url指向的时候,就可以用下面的方法。

解决方案

在文件头加上以下内容,直接上代码:

header("Content-Security-Policy: upgrade-insecure-requests");

原理

就是W3C 工作组考虑到了我们升级 HTTPS 的艰难,在 2015 年 4 月份就出了一个 Upgrade Insecure Requests 的草案,他的作用就是让浏览器自动升级请求。

我们的页面是 https 的,而这个页面中包含了大量的 http 资源(图片、iframe等),页面一旦发现存在上述响应头,会在加载 http 资源时自动替换成 https 请求。

就是工作组为了节省咱们时间,做的操作,感谢工作组。 至于更多的,自行百度。

官方地址

https://www.w3.org/TR/upgrade-insecure-requests/

蜚语:你没有时间享乐,有些快乐需要你负重前行

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: