为什么我们平时访问很多网站的时候就直接使用HTTPS协议请求

日期: 栏目:文章分享 浏览:930 评论:0

什么是HSTS

HSTS全称是HTTP ,已经被主流的浏览器广泛采用,支持HSTS的服务端可以强制访问它的浏览器使用HTTPS协议,这样就可以最大限度的减少HTTP协议的各种安全问题。

如何实现HSTS

配置burpsuit谷歌浏览器证书及HSTS问题处理_处理一建问题证书注册_谷歌浏览器里谷歌商店

HSTS 的实现也很简单,通过HTTPS 协议访问你站点的时候,在响应头中加上这样一段信息:-- "max-age=; ;"

-- 是 字段名,后面的max-age 代表HSTS 在客户端的生效时间, 表示对所有子域名生效。

谷歌浏览器里谷歌商店_配置burpsuit谷歌浏览器证书及HSTS问题处理_处理一建问题证书注册

举个例子, 我们在浏览器中访问 的主页, 然后打开开发者工具,可以看到服务端发送这样的响应:

Facebook设置HSTS

这里面的-- 头就是HSTS 的信息了。 其实在服务端上,只需要发送这个头就可以了。具体的实现都在客户端上,也就是你的浏览器。 当浏览器检测到这样的 信息后,就会做一个记录,根据 max-age 的提示配置burpsuit谷歌浏览器证书及HSTS问题处理,在一定时间内用户再次访问这个站点的时候就直接使用 HTTPS 协议请求,如果 HTTPS 请求失败,也不会降级到 HTTP 而是直接失败。

HSTS 好处

处理一建问题证书注册_谷歌浏览器里谷歌商店_配置burpsuit谷歌浏览器证书及HSTS问题处理

其实大家平时在使用浏览器的时候,一般是直接在地址栏里面输入域名,然后就访问了。 但大家应该知道,大多数浏览器在默认情况下会先用HTTP 发起请求的,也就是说即便你的站点已经支持了HTTPS,但如果不做任何处理的话,用户还是很难触及到。

为什么我们平时访问很多网站的时候自动就跳转到HTTPS站点了也是因为这些站点对这一点做了处理。 最原始的方法就是302 跳转配置burpsuit谷歌浏览器证书及HSTS问题处理,服务端把所有的HTTP流量跳转到HTTPS 上,但这样做有一个明显的安全漏洞,就是第一次访问站点的时候如果是HTTP 就有可能被中间人劫持,很可能都没到302 跳转的时候就被劫持了,这也就是为什么要引入HSTS 机制的原因了。用户的浏览器一旦得到了HSTS 的信息,下次再访问站点的时候客户端浏览器就会强制使用HTTPS,无论你在地址栏里输入什么,都会以HTTPS 访问,这样就避免了每次服务端跳转可能导致的潜在安全问题。这样就解释了为什么我们使用主流浏览器输入网站域名的时候,都会自动跳转到HTTPS 了。 因为我们访问的大多是主流的大网站,所以用户的感觉就是HTTPS 自动发生了,但实际上并不是这样的。

HSTS本身也有缺陷,假如用户的浏览器从未访问过这个站点,那也就不会得到HSTS 响应头,这个时候依然会有被劫持风险,但相比每次都进行服务端跳转的机制,已经好了不少。针对HSTS 的这个缺陷,主流的浏览器也提供了一些解决方案,比如把一些大流量并且已知支持HSTS 的站点预先内置到浏览器中,这样就更大程度的完善了HTTPS 的安全机制。

写在最后

HTTPS 可以帮助用户保护自己的信息传输安全,但这一切的达成还需要客户端和服务端的共同配合。合理使用HSTS 可以让你的HTTPS 站点触及更多的用户,当然HSTS 也有它自身的缺陷,并且还有一点要注意的,就是如果你的站点的HTTPS 服务没有完全准备好,不要轻易的开启HSTS 响应头。因为一旦浏览器得到这个响应头,就会在规定的 max-age 的时间段内强制使用HTTPS 访问,如果你的服务没准备好,用户就会一直访问失败,并且不能降级。

标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。发布前请先查看评论规则:点我查看