解决https网页加载http资源报错问题

  发布时间:2022-01-12 14:07:35   作者:Barret李靖   我要评论
这篇文章介绍了解决https网页加载http资源报错的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

HTTPS 是 HTTP over Secure Socket Layer,以安全为目标的 HTTP 通道,所以在 HTTPS 承载的页面上不允许出现 http 请求,一旦出现就是提示或报错:

Mixed Content: The page at ‘https://www.taobao.com/‘ was loaded over HTTPS, but requested an insecure image ‘http://g.alicdn.com/s.gif’. This content should also be served over HTTPS.

HTTPS改造之后,我们可以在很多页面中看到如下警报:

很多运营对 https 没有技术概念,在填入的数据中不免出现 http 的资源,体系庞大,出现疏忽和漏洞也是不可避免的。

CSP设置upgrade-insecure-requests

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

在我们服务器的响应头中加入:

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

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

不过让人不解的是,这个资源发出了两次请求,猜测是浏览器实现的 bug:

当然,如果我们不方便在服务器/Nginx 上操作,也可以在页面中加入 meta 头:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

目前支持这个设置的还只有 chrome 43.0,不过我相信,CSP 将成为未来 web 前端安全大力关注和使用的内容。而 upgrade-insecure-requests 草案也会很快进入 RFC 模式。

从 W3C 工作组给出的 example,可以看出,这个设置不会对外域的 a 链接做处理,所以可以放心使用。

相关阅读

http://www.w3.org/TR/mixed-content/

https://www.chromestatus.com/feature/6534575509471232

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 解决https网页加载http资源报错问题

    这篇文章介绍了解决https网页加载http资源报错的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-12
  • OSI七层模型与TCP/IP五层模型详解

    本文详细讲解了OSI七层模型与TCP/IP五层模型,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-16
  • 以太网数据帧的结构分析

    以太网是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容
    2021-12-16
  • HTTP协议与HTTPS协议的区别详解(图文)

    为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的
    2021-11-27
  • 进制转换之二进制十进制和十六进制

    这篇文章主要介绍了进制转换之二进制十进制和十六进制,需要的朋友可以参考下
    2020-02-10
  • 怎么使用tracert网络指令?

    怎么使用tracert网络指令?tracert是一个跟踪路由指令,该怎么使用这个命令呢?下面我们就来看看详细的教程,需要的朋友可以参考下
    2019-08-13
  • MSTP是什么?IPv6之MSTP详细介绍

    组成MSTI的是运行STP/RSTP/MSTP的交换设备,MSTI是所有运行STP/RSTP/MSTP的交换设备经MSTP协议计算后形成的树状网络,本文中将会详细的介绍MSTP,感兴趣的朋友可以阅读本文
    2019-07-05
  • ipv6如何内嵌ipv4?ipv4转换为ipv6的方法介绍

    ipv6是最新的互联网络协议,已经在慢慢的应用起来,ipv4和ipv6是如何的相互转换的呢?本文中将会有简单的介绍,感兴趣的朋友可以餐参考一下
    2019-07-01
  • Apache Flink的网络协议栈详细介绍

    Flink 的网络协议栈是组成 flink-runtime 模块的核心组件之一,本文中介绍了Apache Flink网络协议栈,感兴趣的朋友可以阅读本文参考一下
    2019-06-28
  • IOT通信协议有哪些?物联网七大通信协议对比介绍

    物联网简称iot,本文中为大家的是物联网的7大协议以及对比,有需要的朋友可以阅读本文参考一下
    2019-06-28

最新评论