You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否存在支持客户端自主计算哈希验证文件版本的HTTP规范?

客户端避免重复下载的HTTP规范方案

1. 支持本地哈希校验的HTTP扩展

存在相关HTTP扩展规范支持你描述的场景:

  • 客户端可自行计算本地文件的哈希值,通过Want-Digest请求头指定哈希算法(如SHA-256),并将本地哈希放在If-None-Match头中发起请求。
  • 服务器收到请求后,计算目标文件的对应哈希值进行对比:
    • 若哈希一致,返回304 Not Modified,客户端无需重复下载;
    • 若哈希不一致,返回200 OK,同时在Digest响应头中携带服务器端的哈希值,客户端可选择下载新版本文件。

2. 与ETag机制的差异

  • ETag要求客户端留存服务器返回的标识,而本地哈希校验无需依赖历史响应数据,客户端完全可以独立计算后发起校验。
  • 注意:该功能需要服务器支持Want-Digest和Digest头的处理,并非所有服务器默认启用。

3. 实际请求示例

客户端请求

GET /foo.tgz HTTP/1.1
Host: example.com
Want-Digest: SHA-256
If-None-Match: SHA-256=asfdhasdfhzwsdf

服务器响应(哈希一致)

HTTP/1.1 304 Not Modified
Digest: SHA-256=asfdhasdfhzwsdf

服务器响应(哈希不一致)

HTTP/1.1 200 OK
Digest: SHA-256=abcdef1234567890
Content-Length: 12345

内容的提问来源于stack exchange,提问作者guettli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 09:08:15