首页 > 解决方案 > 从 HTTPS 网页访问的 localhost HTTP。为什么没有“混合内容”错误?

问题描述

我发出一个 HTTP 请求:

它有效。

Chrome (v89.0.4389.90) 和 Firefox (v86.0.1) 中没有“混合内容”错误。只有 Safari 会阻止该请求。但是,对 192.168.1.x 的请求会触发“混合内容”错误。

localhost 是否在 Chrome 和 Firefox 中明确列入白名单?还是浏览器供应商计划在某个时候也被“混合内容”阻止?

例如,可以依靠它来控制绑定到 localhost 并提供 HTTP API 的本地应用程序吗?

标签: javascriptgoogle-chromehttphttpsmixed-content

解决方案


来自MDN

浏览器可能允许加载本地交付的混合资源。这包括文件:从环回地址访问的 URL 和内容(例如http://127.0.0.1/)。

两者127.0.0.1localhost都被认为是潜在可信的,因此浏览器可以决定结果。

https://w3c.github.io/webappsec-secure-contexts/#potentially-trustworthy-origin

Safari 的行为看起来像一个错误,将来可能会改变。在此处查看讨论不要将环回地址视为混合内容


推荐阅读