如果服务器设置为处理Range requests,例如通过接受字节,那么大致有两种方法可以向该服务器发送有效请求。
第一种方法是将Range标头设置为类似Range: 0-
的内容,这意味着我们需要服务器所服务的任何内容的第一个字节,并且对其余内容都是懒惰的。只要给我们服务器就可以了。
第二种方法是将Range标头设置为Range: 0-2000/*
,这意味着我们明确要求字节0到2000,我们不关心服务器所服务的文件大小。
这些请求 - 如果服务器认为有效(我们现在声明,确实有效) - 然后由HTTP 206响应回答。
我的问题是:如上所述,通过部分响应提供文件的最专业方法是什么。它是否会为发送请求的客户端没有立即服务的所有字节服务,即如果Range: 0-
的请求在服务字节0到最后一个字节的情况下是什么?或者是分割文件以及当Range: 0-
的请求进来时只提供多个字节,即字节0到500?或者总是不同的东西?
我有这个问题,因为我的当前代码库似乎是阻塞的,因此在给定时间可以处理不超过五个请求。
答案 0 :(得分:1)
客户端可以在不知情的情况下限制请求的字节数 所选表示的大小。如果是last-byte-pos 值不存在,或者值大于或等于 表示数据的当前长度,字节范围是 解释为表示的其余部分(即, server将值替换为last-byte-pos的值 小于所选表示的当前长度。)
所以这意味着像:
这样的范围Range: 0-
应解释为“提供整个文件”。