我知道protocol-relative URLs,这通常是在使用http或https加载的页面上提供脚本或其他资源的正确解决方案。
不过,我有一个脚本,我希望始终通过http s提供服务,即使它加载到的页面是通过http提供的。在将HTTP和HTTPS内容混合在一起(即,通过HTTP服务的一些脚本上的MITM攻击可以从理论上被用来注入从HTTP读取的脚本中读取的代码)中留下明显的潜在安全问题,这是其他任何原因的坏主意吗?例如,这是否会在任何旧版本的ie中导致混合内容警告?
最佳答案
不!至少,在任何仍然流行的浏览器上都没有。
paul irish(google chrome的开发人员之一,同时也是一位著名的编程博客和开源贡献者)在2014年更新2010年的博客文章The Protocol-relative URL(强调原文)时给出了以下建议:
现在ssl是encouraged for everyone和doesn’t have performance concerns,这项技术现在是一种反模式。如果您需要的资产在ssl上可用,那么始终使用https://
资产。
允许代码片段通过http请求会为recent Github Man-on-the-side attack之类的攻击打开大门。即使您的站点位于http上,也可以安全地请求http s资产,但是反之亦然。
在is not true中提供更多指导和详细信息。
如果paul irish说在http页面上请求http s资产是可以的,那么这对我来说就足够了。