跟踪CDN文件上的请求

时间:2011-09-12 12:41:44

标签: php javascript css cdn

我已经与知名托管公司谈过跟踪CDN文件的请求,他们不提供这个。

我想要做的是允许用户上传CSS文件/纯CSS,获取此文件或原始CSS并将其放入CDN,然后我将为用户提供指向其文件的唯一链接,以便他们可以执行类似<link rel="stylesheet" href="http://myCDN.com/uniquelink.css">的操作,并将文件输出为有效的CSS。这相对简单,但我需要跟踪对文件进行多少次请求以进行计费。如何在不让他们首先通过PHP脚本的情况下做到这一点(这会使他们无法快速获得CDN链接)?

欢迎任何建议。

3 个答案:

答案 0 :(得分:1)

如果排除您控制的中间脚本,我相信您唯一的选择是使用读取服务器日志的常规统计信息。这意味着您(或此处的某人可能知道其中一个)需要找到 支持跟踪的CDN提供商(或您可以访问的网络统计信息)。

答案 1 :(得分:1)

我必须同意布莱尔麦克米兰的意见,你最好的办法是找一个能让你检查访问日志的CDN。

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

答案 2 :(得分:0)

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

一个例子:

用户将css文件加载到CDN,CDN为您提供链接:

www.myCDN.com/?id=123

而不是直接向您的用户提供此网址,您可以给他类似的内容:

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

或者如果你愿意,你可以将CDN链接保存到数据库中并使用id识别它,所以网址就像

www.mysite.com/track_css.php?file_id=123

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

希望这有帮助

编辑:没有看到“没有让他们先通过PHP脚本”,= P所以,不要介意