在查看我们的Apache访问日志时,当用户从我们的服务器下载PDF文件时,经常发生以下情况(但不总是)。 该URL首先被请求并以状态200(ok)和全部回复大小递送,然后紧随其后的是来自同一客户机的相同URL的多个请求,具有较小的回复大小和206(部分回复)状态码。
换句话说,有些客户端首先下载整个PDF成功,然后出现下载文件的许多“块”。
为什么我们看到这个?
这些是“字节范围”请求(HTTP / 1.1function),通常由Adobe Reader浏览器插件进行。
它们旨在支持能够在浏览器中链接到理论上的50 MB PDF,获取目录,在目录中链接到最后一页或两页,读者下载最后几页,给出您立即访问您所寻求的内容,并继续在后台下载PDF的其余部分。
一些Adobe Reader版本称为“快速网页视图”。
我不确定为什么你会看到完整的文件大小的请求,所以我不知道我是否已经满意地回答了你的问题。
在预感之后,我发现了一些进一步的阅读,似乎证实浏览器对该文件的原始HTTP请求经常在切换到Adobe插件后在后台继续。 这个插件发出不同的字节范围请求,但是浏览器的原始请求最终是文件的全部大小,因为它不是一个字节范围的请求。
我不确定Adobe是否会将此视为错误。 它可以将传输的数据有效地加倍,但是可以使“客户端”上的“用户体验”“看起来更快/更响应”。 🙂