在HTTP页面上通过HTTPS加载脚本或其他资源是否有问题?

Mar*_*ery 3 html browser ssl https http

我知道协议相对URL,这通常是在可能使用HTTP或HTTPS加载的页面上提供脚本或其他资源的正确解决方案.

但是,我有一个脚本,我希望始终通过HTTPS提供服务,即使它正在加载的页面是通过HTTP提供的.抛开明显的潜在安全问题,将HTTP和HTTPS内容混合在一起(也就是说,通过HTTP服务的某些脚本的MITM攻击理论上可用于注入用于从通过HTTPS提供的脚本中读取内容的漏洞代码),这是一个坏的任何其他原因的想法?例如,这会在任何旧版本的IE中导致混合内容警告吗?

Mar*_*ery 7

不!至少,不是任何仍在流行使用的浏览器.

Paul Irish(谷歌Chrome浏览器开发人员之一,谦虚着名的编程博主和开源撰稿人)提供了这一建议,在2014年的博客文章"协议相对URL"(重点来自原文)中给出了2014年更新:

现在,每个人都鼓励使用 SSL ,并且没有性能问题,这种技术现在已成为一种反模式.如果您需要的资产在SSL上可用,则始终使用该https://资产.

允许通过HTTP请求代码段打开了攻击的大门,就像最近的Github Man-on-side攻击一样.即使您的站点在HTTP上,请求HTTPS资产也始终是安全的,但反之则不然.

Eric Mills的CDN和HTTPS指南中提供了更多指导和详细信息.

如果Paul Irish说在HTTP页面上请求HTTPS资产很好,那么这对我来说已经足够了.