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

HTTP 状态与缓存新鲜度

状态码含义用途
200 OK资源存在并返回表示健康路由的基线
301 Moved PermanentlyURI 永久变更在日志里区分新旧 URI
308 Permanent Redirect非 GET 方法在重定向时保留方法重定向笔记
206 Partial Content满足范围请求范围请求笔记
304 / 412验证器驱动条件请求条件请求笔记
404未找到Caddyfile 中的 handle_errors 页
500 / 502 / 503源站或代理故障发布冒烟测试与重启循环
指令或响应头效果
Cache-Control: public, max-age=31536000, immutable内容哈希制品的长期租约
Cache-Control: private, max-age=300 加 ETagHTML 短新鲜度加低成本再验证
Cache-Control: no-store永不存储;用于会话相关响应
ETag / If-None-Match 得到 304强验证,无需重新下载正文
Last-Modified / If-Modified-Since无 ETag 时较弱的时间戳验证

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

公网边缘的安全响应头

响应头策略简述
Content-Security-Policydefault-src 'self'; script-src 'none' 保持页面不含脚本
Strict-Transport-Securitymax-age=31536000; includeSubDomains 强制一年 HTTPS
X-Content-Type-Optionsnosniff 阻止 MIME 类型猜测
X-Frame-OptionsDENY 阻止被内嵌(framing)
Referrer-Policystrict-origin-when-cross-origin 限制来源信息外泄
Set-CookieSecure; HttpOnly; SameSite=Lax 默认收窄 Cookie 作用域

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

DNS 与 TLS 检查

记录或检查回答的问题
A / AAAA域名解析到哪个地址
CNAME别名跟随哪个规范名
CAA授权了哪些证书签发者
TTL解析器可缓存答案多久;变更窗口前先调小
# 域名解析到哪里,还剩多久
dig +nocmd +noall +answer +ttl example.com A

# 不变更任何状态,打印 served 证书链与过期时间
openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null 2>/dev/null | openssl x509 -noout -dates -issuer

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

Caddy 与发布冒烟测试

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

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

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

来源