提供HTTP 206响应的专业方式是什么

时间:2015-04-28 21:28:27

标签: http http-headers httpresponse

如果服务器设置为处理Range requests,例如通过接受字节,那么大致有两种方法可以向该服务器发送有效请求。

第一种方法是将Range标头设置为类似Range: 0-的内容,这意味着我们需要服务器所服务的任何内容的第一个字节,并且对其余内容都是懒惰的。只要给我们服务器就可以了。

第二种方法是将Range标头设置为Range: 0-2000/*,这意味着我们明确要求字节0到2000,我们不关心服务器所服务的文件大小。

这些请求 - 如果服务器认为有效(我们现在声明,确实有效) - 然后由HTTP 206响应回答。

我的问题是:如上所述,通过部分响应提供文件的最专业方法是什么。它是否会为发送请求的客户端没有立即服务的所有字节服务,即如果Range: 0-的请求在服务字节0到最后一个字节的情况下是什么?或者是分割文件以及当Range: 0-的请求进来时只提供多个字节,即字节0到500?或者总是不同的东西?

我有这个问题,因为我的当前代码库似乎是阻塞的,因此在给定时间可以处理不超过五个请求。

1 个答案:

答案 0 :(得分:1)

来自RFC7233, section 2.1

  

客户端可以在不知情的情况下限制请求的字节数   所选表示的大小。如果是last-byte-pos   值不存在,或者值大于或等于   表示数据的当前长度,字节范围是   解释为表示的其余部分(即,   server将值替换为last-byte-pos的值   小于所选表示的当前长度。)

所以这意味着像:

这样的范围
Range: 0-

应解释为“提供整个文件”。