一份紧凑、非穷尽的参考表,汇总各篇笔记反复出现的取值。权威规则请优先参考链接的来源;这些表格只是记忆辅助。

HTTP 状态与缓存新鲜度

状态码含义用途
200 OK请求成功;响应内容取决于方法(HEAD 无正文)健康路由的基线
301 Moved PermanentlyURI 永久变更在日志里区分新旧 URI
308 Permanent Redirect永久重定向保留请求方法,包括 GET 与 HEAD重定向笔记
206 Partial Content满足范围请求范围请求笔记
304 / 412304 允许条件 GET/HEAD 复用;412 表示前置条件失败条件请求笔记
404未找到缺失路由检查;自定义错误页必须保留正确状态码
500 / 502 / 503服务器意外错误 / 无效上游响应 / 暂时不可用发布冒烟测试与重启循环
指令或响应头效果
Cache-Control: public, max-age=31536000, immutable允许共享缓存存储,为内容哈希制品设置长新鲜期;immutable 仅在新鲜期内生效
Cache-Control: private, max-age=300 加 ETag私有缓存的新鲜期为 300 秒;ETag 支持再验证,共享缓存不得存储
Cache-Control: no-store要求缓存不存储本次交互;不追溯清除旧副本,也不保证隐私
ETag / If-None-Match 得到 304GET/HEAD 再验证使用弱比较;304 无正文,不证明字节相同
Last-Modified / If-Modified-Since基于时间戳的验证,通常为弱验证;同时发送 If-None-Match 时忽略此条件

另见:缓存头、条件请求、压缩、方法语义。

公网边缘的安全响应头

响应头策略简述
Content-Security-Policydefault-src 'self'; script-src 'none' 在支持的浏览器中按此策略阻止脚本执行
Strict-Transport-Securitymax-age=31536000; includeSubDomains 经有效 HTTPS 接收后,为该主机及其后代存储一年的 HTTPS 策略
X-Content-Type-Optionsnosniff 拒绝 MIME 类型缺失或不适用的脚本与样式加载
X-Frame-OptionsDENY 阻止被内嵌(framing)
Referrer-Policystrict-origin-when-cross-origin 限制来源信息外泄
Set-CookieSecure; HttpOnly; SameSite=Lax 显式限制传输、脚本访问与跨站发送;Domain 与 Path 的作用域规则另行决定

这些是策略示例,不是通用默认值或当前边缘测量结果。首次通过 HTTP 访问未知主机时,若没有预先存储的策略(例如预加载),HSTS 无法提供保护。启用 includeSubDomains 前,应让每个被覆盖的后代主机准备好 HTTPS;移除响应头不会清除已缓存策略。Cookie 的这些属性不会建立主机或路径边界,也不能替代 CSRF 防护。

另见:安全响应头、HSTS 灰度、Cookie 作用域、内容类型。

DNS 与 TLS 检查

记录或检查回答的问题
A / AAAA域名解析到哪个地址
CNAME别名跟随哪个规范名
CAA有效策略在签发时授权哪些 CA;并非 TLS 信任检查
TTL通常的缓存新鲜期;至少提前一个旧 TTL 调小,因为既有缓存答案仍保留原寿命

TTL 不是统一的切换截止时间:过期应答策略、应用缓存与已有连接可能持续更久。观察窗口内应让新旧端点都保持可用。下面是检视方法,不是新采集的测量结果;只应针对获准访问的目标使用。

# 域名解析到哪里,还剩多久
dig +nocmd +noall +answer +ttl example.com A

# 打印首张(叶)证书的日期与签发者;并非证书链验证
openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null 2>/dev/null | openssl x509 -noout -dates -issuer

只显示答案的 dig 输出隐藏 DNS 状态与权威信息;仅凭空输出无法诊断失败。在 OpenSSL 管道中,x509 读取首张证书,因此 -showcerts 不会让最终输出成为完整证书链。SNI 选择主机,却不验证名称或信任关系。管道丢弃 s_client 诊断信息;未启用管道失败检测时,最终状态可能隐藏前面命令的失败。应保留诊断信息,并在适当超时限制下另做主机名与信任检查;这条检视管道没有显式网络截止时间。

另见:CAA 记录、DNS 变更窗口、证书链、过期检查。

Caddy 与发布冒烟测试

步骤检查
构建每次发布一个完整制品目录
清单每个已发布字节都有校验和点名
发布验证通过后再切换服务目录;保留上一个可用版本
边缘请求一个页面、一个文件、一个不存在路径;对照状态码与内容类型
TLS在公网主机名上测试 HTTP 到 HTTPS 跳转与证书名称

小工具可从资源下载,仓库内位于 static/downloads/。下面的裸命令名假设已审阅的脚本可执行且位于 PATH;否则用 sh 调用已审阅的本地副本。使用前把 <file> 换成实际且加引号的文件名;尖括号是说明记号,不是可照抄的 shell 语法。

# 逐文件
sha256sum <file>

# 操作套件里的纯文本检查
check-http-headers.sh https://www.xbcatm.com/
check-tls-expiry.sh www.xbcatm.com 30

HTTP 小工具发出 GET、跟随重定向(可能到其他主机)、丢弃正文,并设有 20 秒传输限制。应检查它打印的状态与最终 URL:仅返回 HTTP 4xx/5xx 不会使它失败。TLS 小工具只把叶证书的 notAfter 与指定区间比较,不验证 notBefore、主机名、证书链信任或吊销状态,还需另设任务级超时。两者都不比较已发布的正文字节。本轮速查表审阅没有执行这些网络示例。

另见:静态根目录、发布检查清单、读取边缘、原子切换、发布清单、资源。

来源