HTTPS頁面發送HTTP請求----混合內容


定義:

    1、在一個頁面加載中,HTML部分通過HTTPS加載,而其他的資源(圖像、視頻、樣式、腳本等等)通過HTTP加載。混合了這兩種加載方式的稱之為混合內容。

    2、混合內容分為主動混合內容和被動混合內容。

    3、主動混合內容:在頁面上可以直接與頁面交互的內容,如下載和執行腳本、樣式表、iframe等等。

    4、被動混合內容:在頁面上不與其它內容交互的部分,如圖像、視頻、音頻等等。

 

帶來的問題:

    主動混合內容基本都會被主流的瀏覽器直接阻止,即HTTP請求還沒發送就被瀏覽器阻攔了。

    控制台有如下錯誤打印出來:

index.js:1 Mixed Content: The page at 'https://***' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://***'. This request has been blocked; the content must be served over HTTPS.

  

 

解決辦法:

    因為瀏覽器只會阻止主動混合內容,所以還可以通過被動混合內容來間接實現部分HTTP請求,如:img.src,缺陷是只能get請求,如下:

const img = new Image();
img.src = 'http://...' // 請求

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM