下载计数器功能不准确



我们使用一个普通的PHP下载脚本(带有头等)为用户提供文件。

然而,问题是,对于一些浏览器和大量下载,下载脚本会被多次请求。NGINX日志显示的请求状态代码为206(建议分块流媒体?)这很奇怪,因为我们不提供任何可流媒体内容?

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

我们尝试使用会话,但由于下载与外部服务器+域断开,我们无法在设置后清除所述会话。

我们正在将Laravel与NGINX+MySQL一起使用,如有任何帮助,我们将不胜感激。谢谢

查看最终会得到206响应的请求的规范和标头,有一个标头被删除了,看起来很完美。

有问题的标头是Content-Range标头,它可能看起来如下:

Content-Range: bytes 21010-47021/47022

这意味着它想要从47022个字节中获取21010-47021个字节。你只需要担心这里的第一个数字,以及它是否为0。如果设置了头,并且第一个数字是0,则可以假设它刚刚开始下载,并且应该递增计数器。

最新更新