一份紧凑、非穷尽的参考表,汇总各篇笔记反复出现的取值。权威规则请优先参考链接的来源;这些表格只是记忆辅助。
HTTP 状态与缓存新鲜度#
| 状态码 | 含义 | 用途 |
|---|
| 200 OK | 资源存在并返回表示 | 健康路由的基线 |
| 301 Moved Permanently | URI 永久变更 | 在日志里区分新旧 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 加 ETag | HTML 短新鲜度加低成本再验证 |
Cache-Control: no-store | 永不存储;用于会话相关响应 |
ETag / If-None-Match 得到 304 | 强验证,无需重新下载正文 |
Last-Modified / If-Modified-Since | 无 ETag 时较弱的时间戳验证 |
另见:缓存头、条件请求、压缩、方法语义。
公网边缘的安全响应头#
| 响应头 | 策略简述 |
|---|
Content-Security-Policy | default-src 'self'; script-src 'none' 保持页面不含脚本 |
Strict-Transport-Security | max-age=31536000; includeSubDomains 强制一年 HTTPS |
X-Content-Type-Options | nosniff 阻止 MIME 类型猜测 |
X-Frame-Options | DENY 阻止被内嵌(framing) |
Referrer-Policy | strict-origin-when-cross-origin 限制来源信息外泄 |
Set-Cookie | Secure; 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
另见:静态根目录、发布检查清单、读取边缘、原子切换、发布清单、资源。