2017-08-11 100 views
1

我知道当通过安全HTTPS连接加载初始HTML时,会出现混合内容,但是其他资源(例如图像,视频,样式表,脚本)通过不安全的HTTP连接加载。这称为混合内容,因为正在加载HTTP和HTTPS内容以显示相同的页面,并且初始请求通过HTTPS保护。从安全页面链接到不安全页面

允许安全页面包含指向不安全的外部页面的链接吗?我正在讨论将用户从安全页面导航到新的但不安全的页面的链接。内容不在安全页面上检索,所以这是好的,对吧?

回答

2

是的,根据Mixed Content specification(这是定义浏览器对潜在混合内容的规范要求的规范),允许安全页包含指向不安全的外部页面的链接。

具体有关要求是在该规范的Should fetching request be blocked as mixed content?部分的第一部分,其内容的步骤4中指出:

给出的请求请求,用户代理确定是否请求 请求应通过下面的算法继续进行或不:

  1. 返回允许如果满足以下一个或多个条件:

    1. §5.1设置是否禁止混合安全上下文?当应用于 请求的客户端时,返回“Does Not Restrict Mixed Security Contexts”。
    2. 要求url是先验认证的。
    3. 用户代理已被指示允许混合内容,如§7.4用户控制中所述)。
    4. 请求的目的地是‘document’,和请求的目标浏览上下文没有父浏览上下文。

      注:我们从混合内容检查中排除顶级导航,但用户代理可以选择对不安全的 表单提交执行混合内容检查(请参阅第7.5节“进一步操作”)。

说得换句话说,当用户跟随​​一个链接到一个外部页面,该动作发起顶级导航请求,并且按照上面的步骤4中,该算法对于这种情况,返回允许,这意味着请求被允许。 (在规范定义为混合内容的情况下,算法返回阻止,这意味着请求不被允许。)

或者把它规范的少,但更多的信息来看,浏览器会屏蔽请求任何一个网页的嵌入式子资源不是从安全上下文提供服务,但他们不会阻止导航到其他文件是不安全的。

混合内容规范的相关部分,在这些条款隐含规定的行为是在Introduction

...当在不安全的信道上的加密和认证资源请求子资源(脚本,图片等) ...这些资源请求导致其状态混合的资源