问题:
客户要求:
Range:bytes=0-
服务器响应:
Content-Length:8396748
Content-Range:bytes 0-8396747/8396748
我想限制这一点内容范围到 1MB 块,因此服务器将响应如下:
Content-Length:1000000
Content-Range:bytes 0-999999/8396748
我怎样才能让 Apache/2.2.22 做到这一点?
关于“你想实现什么目标?”:
如果(许多)例子中的一个用户返回到自动播放的 HTML5 视频,暂停视频并且只想回复同一页面上的评论,那么这是可取的。在这个例子中,当用户只使用了几 MB 时,传输整个 128GB(当前 YouTube 最大值)的成本是不必要的。
关于“这是有效的rfc7233吗?”:
- rfc7233 的 4 位作者之一说这是有效的
协议预计服务器可能不会发送与请求相同的范围
- 它适用于 Firefox 和 Chrome。
- 不支持它将无法恢复中断的下载。
答案1
Apache 尚未实现该功能。
我用 php 编写了自己的实现,运行良好,而且只有大约 20 行。
但是可以使用任何语言(module/php/perl/python/etc)。