开发实战指南
HTTP Range:验证断点续传
拼接文件前检查 206、Content-Range 和 If-Range,防止混合不同版本。
请求字节区间
字节区间的起止都包含,bytes=0-99 请求 100 字节,不是 99 字节。
服务端可以忽略 Range 返回完整 200,追加正文前必须检查实际状态。
Range: bytes=0-99
Expected partial response: 206 Partial Content
Content-Range: bytes 0-99/1000检查返回区间
Content-Range 描述实际返回区间及已知总长度,需与下载器准备填入的位置一致。
不可满足的区间可能返回 416 及 bytes */length,错误正文不能拼入文件。
避免拼接不同版本
If-Range 携带强验证器,匹配时服务端才返回区间,否则返回完整响应。
资源变化后应重启下载或替换部分文件,不能继续追加新的完整响应。
Range: bytes=100-
If-Range: "artifact-v1"验证完整产物
内容编码和所选表示可能让字节位置更复杂,下载器必须明确区间针对哪种表示。
拼接后检查大小及预期产物的可信摘要,本站 HTTP 工具用于检查,不是大文件续传管理器。