2017-08-11 106 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

...當在不安全的信道上的加密和認證資源請求子資源(腳本,圖片等) ...這些資源請求導致其狀態混合的資源