预加载列表是什么
把域名提交到浏览器内置的强制加密预加载列表,可以让首次访问就直接走 HTTPS,不必等浏览器通过一次明文请求学到策略。进入列表需要同时满足三个条件:有效期不低于一年、包含子域标记、响应头带预加载标记。列表随浏览器版本发布更新,因此生效与撤销都存在明显滞后,适合长期确定全站加密的域名。
基本信息
| 提交入口 | 浏览器厂商维护的预加载列表站点 |
|---|---|
| 硬性条件 | 有效期不少于一年、包含子域、带预加载标记 |
| 生效方式 | 随浏览器版本更新发布,存在滞后 |
| 撤销 | 提交删除请求后仍需等待新版本覆盖旧列表 |
典型使用场景
- 长期确定全站 HTTPS 的站点:希望首次访问即加密
- 网站上线前的安全基线配置
- 排错:确认响应头是否满足提交条件
- 评估撤销成本后再决定是否提交
- 合规要求:部分行业要求首次访问即强制加密
确认是否满足提交条件
确认是否满足提交条件
curl -sI https://example.com | grep -i strict-transport-security
# 期望值同时包含 max-age=31536000、includeSubDomains 与 preload
curl -sI https://www.example.com | grep -i strict-transport-security # 子域也要覆盖条件核对
| 条件 | 要求 | 不满足的后果 |
|---|---|---|
| 有效期 | 不少于一年 | 提交被拒 |
| 包含子域 | 响应头带该标记 | 提交被拒 |
| 预加载标记 | 响应头带该标记 | 提交被拒 |
| 全部子域可用 | 均支持 HTTPS | 部分子域在浏览器中不可用 |
预加载状态存放在浏览器内置列表里,即便随后去掉响应头标记也会继续强制 HTTPS,因此只适合长期确定全站 HTTPS 的域名。
落地建议
- 提交前逐个子域验证 HTTPS 可用性
- 先验证响应头满足全部条件再提交
- 把撤销流程与联系人信息记录在案
- 提交后持续监控证书到期与子域可用性
生效与撤销都依赖浏览器版本发布,周期以周或月计;把这段时间成本纳入决策,避免在试验性域名上直接提交。