HTTP Content-Digest与完整性校验治理
概览
- Digest 字段族为 HTTP 表示内容提供加密摘要,支持请求与响应的端到端完整性检查。
- 客户端通过
Want-Digest 指定期望算法;服务端返回 Content-Digest 或 Digest 携带摘要。
- 与缓存/条件请求/范围请求协同,避免实体不一致导致错误命中或续传失败。
技术参数(已验证)
- 请求偏好:
Want-Digest: sha-256;q=1, sha-512;q=0.1;协商可选算法。
- 响应摘要:
Content-Digest: sha-256=:BASE64=(结构化字段);旧实现可使用 Digest: SHA-256=BASE64。
- Trailer:大对象可在分块传输末尾通过 Trailer 携带摘要;需在响应头声明
Trailer: Content-Digest。
- 条件/范围:与
ETag/If-Range 协同;范围响应按实体一致性校验,实体变化应拒绝续传。
- 安全:摘要覆盖表示内容而非传输编码;避免弱算法;结合 TLS 保障传输安全。
实战清单
- 在静态与下载接口返回
Content-Digest;客户端发送 Want-Digest 并校验。
- 对大对象使用 Trailer 方式;与范围/缓存策略在 CDN 协同验证。
- 监控摘要校验失败与实体变更;建立发布与回滚台账。
- Importance: 强化端到端完整性,减少错误命中与续传失败。
发表评论 取消回复