加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

https中引入http资源资源所导致的问题

发布时间:2020-12-25 21:05:22 所属栏目:站长百科 来源:网络整理
导读:问题描述 因为公司要求所有生产环境为了安全性需求,全部都走https,并且在Nginx里面加入了Content-Security-Policy "upgrade-insecure-requests;connect-src *响应头,作用是让浏览器自动升级请求,防止访问者访问不安全的内容。 该指令用于让浏览器自动升级请

用同一套代码,在后台请求标识好协议,将变量传到html页面,进行协议替换,如: 后台变量,,$protocol = 'https://'; 前台接收变量 src='{$protocol}res.aa.com/jquery.js'.

h5办法

. h5方法,使用js自己加载协议情况,如在body onload='aa()',在aa() 方法中,将资源按照需求加载进来即可。

使用iframe

使用 iframe 的方式引入 http 资源,比如在 https 里面播放优酷的视频,我们可以先在一个 http 的页面里播放优酷视频,然后将这个页面嵌入到 https 页面里就可以了。
另外一个典型的例子是在 https 页面里通过 Ajax 的方式请求 http 资源,Chrome 是不允许直接 Ajax 请求 http 的。如果两个页面的内容都可以控制的话,当前窗口可以 iframe 窗口进行通信。
其他用法
这个小技巧同样适用于 CSS

.omg { background: url(//test/kittyonadolphin.gif); }
推荐办法

相对协议,如果你的网站同时准备了https资源和http资源,那么使用相对协议可以实现根据当前网站的协议,浏览器自行通过https还是http发送请求,使用资源协议自适配,比如,当前为https页面,那么就是https资源,如果是http页面,那么就是http资源。具体方法超简单:将URL的协议(http,https去掉)`

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读