跟踪网站/ cdn的下载完成情况

时间:2009-12-18 06:50:31

标签: php javascript drupal download analytics

我有一个Drupal网站,用户点击链接启动从内容分发网络(CDN)下载文件。脚本正在跟踪单击链接以开始下载过程的用户数。我正在寻找有关如何跟踪成功完成下载过程的用户数量的建议。

1 个答案:

答案 0 :(得分:2)

如果您只需要已完成下载的,只需从CDN获取原始日志并通过日志分析工具运行它们。大多数CDN提供日常访问日志作为标准服务。较大的玩家可以按小时或更好的日志进行操作。

最佳解决方案取决于您的CDN,如果您还没有,请与他们联系。但是,这就是我过去的做法。

对于生成的每个受保护的下载URL,请为发出请求的用户附加唯一ID。典型的CDN下载URL可能包含到期时间和散列以防止篡改。您需要首先检查您的CDN,以确保选择一个不与其API冲突的变量名称。在我们的例子中,我们同意了一个前缀ign_ *(意思是忽略。)

在:

http://cdn.example.com/path/to/file.ext?e=EXPIRES&h=HASH

后:

http://cdn.example.com/path/to/file.ext?e=EXPIRES&ign_u=USERID&h=HASH

示例(用户1234的下载链接):

http://cdn.example.com/path/to/file.ext?e=1356088260&ign_u=1234&h=39341385b9d99730646d927f620111e1

现在,当您下载原始日志时,只需解析查询字符串,即可将每个条目与您的一个用户相关联。从这里开始,您可以完成从计算已完成下载的数量到实施每用户下载报告的所有内容。

在我们的案例中,我们每15分钟就有一次可用日志,并且我自动获取和处理以启用每个用户的字节级下载配额。

要记住的一件事是,如果您要自己处理日志,则将HTTP 206部分条目组合在一起。特别是如果您对“已完成下载的数量”感兴趣。