![](/img/trans.png)
[英]Add a HTTP link to SSL HTTPS page without causing Mixed-Content “Not Secure” error
[英]Mixed-content request from HTTPS page to HTTP (non-HTTPS) localhost address not blocked
假設下面的頁面是從https://127.0.100.1
加載的。 該頁面向http://127.0.100.2
發出XMLHttpRequest
。 這似乎是混合內容:頁面通過安全連接加載,資源通過不安全連接加載。 瀏覽器應阻止混合內容。 然而,下面的頁面工作正常。* 為什么工作:為什么請求沒有被阻止?
更新:除了已接受的答案之外, 還可以將瀏覽器配置為阻止此類地址的混合內容。
* Wireshark 確認瀏覽器未通過安全連接加載資源。
<html>
<body>
<img id="dst"/>
<script>
let xhr = new XMLHttpRequest();
xhr.open('get', 'http://127.0.100.2/img.jpg');
xhr.responseType = 'blob';
xhr.onload = function(){
document.getElementById('dst').src = URL.createObjectURL(xhr.response);
}
xhr.send();
</script>
</body>
</html>
http://127.0.100.2/img.jpg
不被視為混合內容,因為混合內容規范將其定義為先驗認證 URL的特例,因為它在 127.0.0.0 - 127.255.255.255 (也就是說,具有 CIDR 符號 127.0.0.0/8)的主機, 根據 Secure Contexts 規范被定義為安全上下文——即使協議不是 https。
同樣適用於http://localhost/img.jpg
或http://foo.localhost/img.jpg
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.