HSTS全稱:HTTP Strict Transport Security,意譯:HTTP嚴格傳輸安全,是一個Web安全策略機制。
chrome
它解決的是:網站從Http轉跳到Https時,可能出現的安全問題。json
通常從Http跳轉Https的流程:
瀏覽器
Client從Http切換到Https前是明文傳輸,所以是能夠被Man-In-The-Middle劫持的,以下流程:
安全
要解決從Http切換到Https被劫持的問題,只要一開始就沒有Http請求便可,流程以下:
網站
Strict-Transport-Security: <max-age=>[; includeSubDomains][; preload]
方案1仍是有個漏洞:code
基於以上問題,就須要方案2(HSTS Preload List):blog
官方說明: This is a list of sites that are hardcoded into Chrome as being HTTPS only. HSTS Preload List是一個站點列表,它被hardcode寫入Chrome中,列表中的站點將會默認使用 HTTPS 進行訪問。 Most major browsers (Chrome, Firefox, Opera, Safari, IE 11 and Edge) also have HSTS preload lists based on the Chrome list. (See the HSTS compatibility matrix.) 主流瀏覽器(Firefox, Opera, Safari, IE 11 and Edge)都有和Chrome同樣的HSTS Preload List。
這樣,就直接從源頭上封死Http轉跳Https時被劫持的可能性。
get