繁体   English   中英

下载计数器功能不正确

[英]Download counter function inaccurate

我们正在使用普通的PHP下载脚本(带有标头等)将文件提供给用户。

但是,问题在于,对于某些浏览器和大量下载,需要多次请求下载脚本。 NGINX日志以206状态码显示请求(建议分块流吗?),这很奇怪,因为我们不提供任何可流内容。

无论如何,这意味着多次请求下载脚本,因此每次下载多次运行对文件的下载计数器+1的MySQL函数。

我们尝试使用会话,但是由于下载是从外部服务器+域中进行的,因此我们无法在设置会话后清除这些会话。

我们正在将Laravel与NGINX + MySQL配合使用,任何帮助将不胜感激。 谢谢!

查看规范和请求的标头(最终会导致206响应),发现有一个标头看起来很完美。

有问题的标头是Content-Range标头,如下所示:

Content-Range: bytes 21010-47021/47022

这就是说,它要从47022个字节中抓取21010-47021个字节。 您只需要担心这里的第一个数字(如果不是0)。 如果已设置标头且第一个数字为0,则可以假定它刚刚开始下载,并且应该增加计数器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM