国产视频app今天在調試網站時,發現 html 請求頭中有個 Upgrade-Insecure-Requests:1 參數,查了一下相關的資料,感覺挺有意思,記錄一下。

瀏覽器 Upgrade-Insecure-Requests:1 請求頭的作用

html Upgrade-Insecure-Requests:1 請求頭

HTTP Upgrade-Insecure-Requests 請求頭向服務器發送一個客戶端對HTTPS加密和認證響應良好,并且可以成功處理的信號,可以請求所屬網站所有的HTTPS資源。

国产视频app在https頁面中,如果調用了http資源,那么瀏覽器就會拋出一些錯誤。為了改變成這一狀況,chrome(谷歌瀏覽器)會在http請求中加入 'Upgrade-Insecure-Requests: 1' ,服務器收到請求后會返回 "Content-Security-Policy: upgrade-insecure-requests" 頭,告訴瀏覽器,可以把所屬本站的所有 http 連接升級為 https 連接。

例:

国产视频app未使用https協議的鏈接:

http://feiniaomy.com/css/style.css
http://feiniaomy.com/js/js.js
http://feiniaomy.com/img.jpg

分別升級https后的鏈接:

http://feiniaomy.com/css/style.css
http://feiniaomy.com/js/js.js
http://feiniaomy.com/img.jpg

注意:

国产视频app1、升級后的鏈接在服務器端必需有對應的資源。

2、只會升級網站內部的鏈接,對于不屬于網站同部的鏈接,則保持默認狀態。

国产视频app3、并不是所以的瀏覽器兼容此 HTTP 請求頭,兼容表如下

瀏覽器 Upgrade-Insecure-Requests:1 請求頭的作用

服務器響應代碼

PHP響應代碼

1、

header("Content-Security-Policy: upgrade-insecure-requests");

2、

header('Upgrade-Insecure-Requests: 1');

HTML響應代碼

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

相關擴展:

讓瀏覽器不再顯示https頁面中的http請求警報