HSTS 示例讲解

文章不易,请关注公众号 毛毛虫的小小蜡笔,多多支持,谢谢。

定义

HSTS,全称是HTTP Strict Transport Security。
设置后,浏览器只会通过HTTPS来访问服务端。

详情解释

你的网站第一次通过HTTPS请求,服务器响应Strict-Transport-Security头,浏览器记录下这些信息,然后后面尝试访问这个网站的请求都会自动把HTTP替换为HTTPS。

当HSTS头设置的过期时间到了,后面通过HTTP的访问恢复到正常模式,不会再自动跳转到HTTPS。

每次浏览器接收到Strict-Transport-Security头,它都会更新这个网站的过期时间,所以网站可以刷新这些信息,防止过期发生。

Chrome、Firefox等浏览器里,当您尝试访问该域名下的内容时,会产生一个307 Internal Redirect(内部跳转),自动跳转到HTTPS请求。

如果服务器发送的TLS证书无效,用户不能忽略浏览器警告继续访问网站。
一般情况下,如果是证书无效,浏览器会给出提示警告,但用户还是能选择继续访问来忽略警告。
但如果开启了HSTS,那么浏览器就不会让你绕过警告了。

响应头

在服务端设置响应头,即可开启HSTS功能。

// 后面两个值是可选的。
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Demo

在浏览器输入www.baidu.com

浏览器默认是HTTP协议,所以发起的第一个请求是HTTP请求。
然后服务端会重定向到HTTPS,此时状态码是301或302。直接输入baidu.com实际上会重定向到www.baidu.com。

为了排除域名跳转因素影响,所以这里假设直接输入www.baidu.com来验证,不带协议就可以。
具体如下截图所示:

详情 请查看:毛毛虫的小小蜡笔 

 

posted @   simonbaker  阅读(171)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2016-04-14 git log
2014-04-14 深入理解 Express.js
点击右上角即可分享
微信分享提示