HSTS简介
以前在佳宸的博客里看过介绍,后来居然找不到了,百度也没啥好的,谷歌了一个简单的版本解释一下
源地址https://www.chromium.org/hsts
HTTPS 和 HTTP的问题不用多说,理论上HTTPS是够安全的(前提是没乱七八糟的一对破事),而HTTP是明文传输
假设有个网址 HTTP://www.网址.com , 你现在想要登陆它,做一些保密的事情
再假设你的网络环境不安全,有人能劫持你所有的网络流量,那么你上HTTP://www.网址.com 是不安全的
OK,这时候你需要 上 这个 HTTPS://www.网址.com ,这样就是足够安全的了(不讨论算法漏洞自签名XSS等等)
但是一般的用户 他知道在地址栏里多打一个 HTTPS://吗? 他一般只打 www.网址.com
那么这种场景下 你不会主动去访问https的版本,https形同虚设。
(这里多说两句,一般网站如果开了https,那么http就不提供服务了,这时候http的唯一作用是将用户引导到https,可是如果你被中间人攻击了,那么你的http就是假的,自然不会将你引导到https去)
那么怎么样引导用户将https:// 给加上呢? 用户永远不会加上。。
所以有了HSTS
当你第一次访问某个HTTP的网站的时候 (假设你第一次访问的时候,网络环境是安全的),那么你会被重定向到https版本
然后网站会告诉你的浏览器:“我这里有https 以后一个月以内强制用户用安全地https”
浏览器记住了,下一次不管你输入的是 http://www.网址.com 还是 www.网址.com 你的浏览器都会强制你去访问https了
喜大普奔的是 IE到现在都不支持!!!
请用chrome
2016年12月12日17:13:05:
可以将自己的网站加入HSTS preload list,这样你的网站在下个版本的浏览器中会以硬编码的方式存入一个list中,当访问这个网站的时候,哪怕是第一次,也不会走http了,浏览器强行走https