HTTP 字节范围和多部分/字节范围替代方案?
Posted
技术标签:
【中文标题】HTTP 字节范围和多部分/字节范围替代方案?【英文标题】:HTTP byte ranges and multipart/byteranges alternatives? 【发布时间】:2013-10-10 07:52:16 【问题描述】:rfc2616 (HTTP/1.1):
不得使用 multipart/byteranges 媒体类型。
对多个范围请求的响应,其结果是单个 范围,可以作为带有一个部分的多部分/字节范围媒体类型发送。
不能解码多部分/字节范围消息的客户端不得 在单个请求中请求多个字节范围。
如果我理解正确,单个请求中的多个范围可能会使用 multipart/byteranges 并且客户端必须能够对其进行解码或根本不应该请求它。
“MAY”是否暗示还有可以使用的多部分/字节范围的替代品?有吗?如果是这样,是否有请求它们的标头?
例如,服务器能否将所有字节范围连接成一个单独的部分响应?
【问题讨论】:
【参考方案1】:如果一个请求请求多个范围,并且服务器可以将请求的范围连接成一个连续的范围,那么响应可以:
将 multipart/byteranges
与单个 MIME 部分一起用于连接范围,其中该部分有自己的 Content-Range
标头。
自行发送连接数据并包含***Content-Range
标头。
【讨论】:
【参考方案2】:就我在 2012 年的经验而言,我建议坚持第一个,即“不得使用 multipart/byteranges 媒体类型发送对单个范围请求的响应。”因为有些客户会窒息。
【讨论】:
也可以反过来 - 用于 Node 的 Electron Updater(如 2021-07-29)假定单范围响应无效并回退到请求文件的完整下载.以上是关于HTTP 字节范围和多部分/字节范围替代方案?的主要内容,如果未能解决你的问题,请参考以下文章