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