跟踪CDN文件上的请求


Tracking requests on a CDN file

我已经和一家知名的托管公司谈过关于跟踪请求到CDN文件的问题,他们不提供这个服务。

我想做的是允许用户上传一个CSS文件/纯CSS,把这个文件或原始CSS放到CDN中,然后我将给用户一个唯一的链接到他们的文件,这样他们就可以做一些像<link rel="stylesheet" href="http://myCDN.com/uniquelink.css">和文件输出为有效的CSS。这是相对简单的,但我需要跟踪有多少个请求被发送到文件以进行收费。我怎么能做到这一点,而不让他们先通过一个PHP脚本(这打败了给他们一个快速的CDN链接的对象)?

欢迎指教

如果您排除了您控制的中间脚本,那么我相信您唯一的选择是使用读取服务器日志的正常统计信息。这意味着你(或有人在这里可能知道一个)需要找到一个CDN提供商,支持跟踪(或web统计,你可以访问)。

我不得不同意Blair McMillan的观点,你最好的办法是找到一个可以让你检查访问日志的CDN。

如果这真的不是一个选择,你可以尝试的是CSS的@import特性。在CSS的顶部,添加@import url("http://host.example.com/path-to-tracking-script.php?id=383");,并且应该触发对跟踪脚本的请求。(你显然不能得到HTTP REFERER,如果你之后。[编辑:因为它总是你的CSS文件,而不是加载CSS文件的页面])虽然我不知道这可能对加载性能有什么样的影响,但如果你不想改变cdn,它可能值得测试。

在服务器上创建一个页面记录请求,然后重定向到真实链接,而不是将真实链接提供给用户。

一个例子:

用户加载一个css文件到CDN, CDN给你链接:

www.myCDN.com/?id=123

与其直接给你的用户这个url,你可以给他这样的东西:

www.mysite.com/track_css.php?url=www.myCDN.com%2F%3Fid%3D123

或者如果你想,你可以保存CDN链接到一个数据库中,并使用id来标识它,所以url将是类似于

的东西
www.mysite.com/track_css.php?file_id=123

在track_css.php中,你可以保存你想要的任何信息(IP,日期,用户代理等),之后,重定向到cdn中的真实文件…或者可以检索内容并直接显示

希望有帮助

EDIT:没有看到"没有让他们先通过PHP脚本", = p所以,没关系