HSTS(HTTP严格传输安全)是由IETF发布的一种网络安全策略机制,网站启用后可强制浏览器只通过加密的HTTPS访问,自动拦截不安全的HTTP连接,有效防范会话劫持和中间人攻击,是现代网站安全的基础配置之一。

| 类型 | 网络安全策略机制 |
| 制定机构 | 互联网工程任务组(IETF) |
| 标准文档 | RFC 6797 |
| 适用对象 | 网站与浏览器 |
| 英文全称 | HTTP Strict Transport Security |
HSTS(HTTP Strict Transport Security,HTTP严格传输安全)是由互联网工程任务组(IETF)发布的一种网络安全策略机制,用于强制浏览器只能通过加密的 HTTPS 协议与网站通信。
在没有 HSTS 的情况下,即使网站支持 HTTPS,用户直接输入网址或点击旧链接时,浏览器仍可能先发起一次明文的 HTTP 请求,再由服务器跳转到 HTTPS。这个短暂的明文窗口可能被攻击者利用,实施会话劫持或中间人攻击(如 SSL 剥离攻击),窃取 Cookie 等敏感信息。
HSTS 正是为堵住这一漏洞而设计:网站通过在 HTTPS 响应中返回一个特定的响应头(Strict-Transport-Security),声明在指定有效期内只接受安全连接。浏览器收到并记住这一策略后,之后访问该网站时会在本地直接把所有 HTTP 请求改写为 HTTPS,明文请求根本不会发出。该机制已在 RFC 6797 中标准化,主流浏览器均已支持。
启用方式很简单:在网站的 HTTPS 响应中添加 Strict-Transport-Security 头,并设置 max-age(有效期秒数)等参数即可,常见服务器软件(如 Nginx、Apache)都能通过一行配置完成。启用前应确保全站已完整支持 HTTPS,否则部分页面可能无法访问。
问:HSTS 和 HTTPS 是什么关系?答:HTTPS 是加密传输协议,HSTS 是建立在其之上的策略机制,作用是强制浏览器始终使用 HTTPS,两者配合才能提供完整保护。
问:第一次访问网站时 HSTS 生效吗?答:普通 HSTS 需要浏览器先成功访问一次 HTTPS 才能记住策略,首次访问仍有风险;加入浏览器预加载列表可以解决这一问题。
问:启用 HSTS 后还能退回 HTTP 吗?答:在有效期内浏览器会拒绝明文访问,因此下线 HTTPS 前需先将 max-age 设为 0 并等待策略过期,启用时应谨慎规划。

| 类型 | 网络安全策略机制 |
| 制定机构 | 互联网工程任务组(IETF) |
| 标准文档 | RFC 6797 |
| 适用对象 | 网站与浏览器 |
| 英文全称 | HTTP Strict Transport Security |
登录 后参与讨论
暂无讨论,来发表第一条评论吧