【发布时间】:2013-03-05 22:52:23
【问题描述】:
我从已经压缩的现有材料(使用 Node)即时创建了一个长度未知的 ZIP 存档。在 ZIP 存档中,文件只是被存储; ZIP 仅用于拥有一个容器。这就是缓存创建的 ZIP 文件没有意义的原因 - 不涉及真正的计算。
到目前为止,好的。现在我想允许恢复下载,我正在阅读有关 Accept-Range、Range 和 Content-Range HTTP 标头的信息。下载失败的客户端会要求一个开放范围,例如:Range: bytes=8000000-。
我该如何回答?根据RFC 2616 § 14.16,我的答案必须包含一个 Content-Range 标题:
与 byte-ranges-specifier 值(参见第 14.35.1 节)不同,byte-range-resp-spec 必须只指定一个范围,并且必须包含范围的第一个和最后一个字节的绝对字节位置。
所以我不能只发送“从位置 X 开始的所有内容”,我还必须指定发送的最后一个字节 - 要么只发送已知大小的一部分,要么提前计算长度。这两种想法都不适合我的情况。还有没有其他可能?
【问题讨论】:
标签: http resume chunked-encoding http-range