【问题标题】:If I use an API from a non-SSL website, are browsers required to give a mixed content error?如果我使用来自非 SSL 网站的 API,浏览器是否需要提供混合内容错误?
【发布时间】:2017-07-28 10:10:04
【问题描述】:

标题说明了一切。如果我使用来自非 SSL 网站的 API,我是否知道我会收到来自浏览器的混合内容错误?也就是说,这种情况下的混合内容错误是相关标准要求浏览器做什么的吗?

【问题讨论】:

  • 这就是我要问的。我没试过,我只是有一个客户问我是否可以使用不使用 SSL 的公司的 API。

标签: ssl mixed-content secure-context


【解决方案1】:

是的,您会收到混合内容错误。 Any insecure context request/response is mixed content:

如果请求的 url 未经过先验身份验证,则请求是混合内容,并且负责加载请求的上下文要求禁止混合安全上下文。

如果响应是未经身份验证的响应,则响应是混合内容,并且负责加载它所需的上下文禁止混合安全上下文。

和负责加载它所需的上下文禁止混合安全上下文只是意味着请求上下文是secure context——基本上是一个具有https 来源的文档。

另见Active content examples section of the MDN Mixed content article

  • <script>src 属性)
  • <link>href 属性)(包括 CSS 样式表)
  • <iframe>src 属性)
  • XMLHttpRequest 请求
  • CSS 中使用 url 值的所有情况(@font-facecursorbackground-image 等)。
  • <object>data 属性)

请注意,该列表包括 XMLHttpRequest 请求。 (应该更新为还包括fetch() 请求)。

另见https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content#an_xmlhttprequest_example的示例

【讨论】:

    猜你喜欢
    • 2012-03-04
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 2012-06-23
    相关资源
    最近更新 更多