Отслеживание запросов в файле CDN - PullRequest
1 голос
/ 12 сентября 2011

Я говорил с известной хостинговой компанией об отслеживании запросов к файлу CDN, они этого не предлагают.

Что я хочу сделать, это разрешить пользователю загружать файл CSS / чистый CSS,возьмите этот файл или необработанный CSS и поместите его в CDN, затем я дам пользователю уникальную ссылку на свой файл, чтобы он мог сделать что-то вроде <link rel="stylesheet" href="http://myCDN.com/uniquelink.css"> и файл был бы выведен как действительный CSS.Это относительно просто, но мне нужно отследить, сколько запросов сделано в файл для целей зарядки.Как я могу сделать это, не заставляя их сначала пройти через PHP-скрипт (который побеждает цель предоставления им быстрой ссылки CDN)?

Любой совет приветствуется.

Ответы [ 3 ]

1 голос
/ 13 сентября 2011

Мне нужно согласиться с Блэром Макмилланом. Лучше всего найти CDN, который позволит вам проверять логи доступа.

Хотя, если это действительно не вариант, вы можете попробовать функцию @import в CSS. В верхней части вашего CSS добавьте @import url("http://host.example.com/path-to-tracking-script.php?id=383"); И это должно вызвать запрос к вашему скрипту отслеживания. (Вы, очевидно, не сможете получить HTTP REFERER, если вы после этого. [Edit: так как это всегда будет ваш файл CSS, а не страница, которая загрузила файл CSS]) Хотя я не знаю какое влияние это может оказать на производительность нагрузки, но, возможно, стоит проверить, если вы не хотите менять CDN.

1 голос
/ 12 сентября 2011

Если вы исключаете промежуточные сценарии, которыми вы управляете, то я считаю, что ваш единственный вариант - использовать обычную статистику, которая читает журналы сервера.Это означает, что вам (или кому-то здесь может быть известно об этом) необходимо найти поставщика CDN, который поддерживает отслеживание (или веб-статистику, к которой вы можете получить доступ).

0 голосов
/ 12 сентября 2011

вместо того, чтобы давать реальную ссылку пользователю, создайте страницу на своем сервере, которая регистрирует запрос и затем перенаправляет на реальную ссылку.

Пример:

пользователь загружает файл css в CDN, и CDN дает вам ссылку:

www.myCDN.com/?id=123

вместо того, чтобы давать этот URL непосредственно вашему пользователю, вы можете дать ему что-то вроде:

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

или, если хотите, вы можете сохранить ссылку CDN в базе данных и идентифицировать ее с помощью идентификатора, поэтому URL будет выглядеть примерно так:

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

В track_css.php вы можете сохранить любую информацию (IP, дату, пользователь-агент и т. Д.) И после нее, перенаправить на реальный файл в cdn ... или, возможно, получить содержимое и отобразить его напрямую

Надеюсь, это поможет

РЕДАКТИРОВАТЬ: Не видел ", не заставив их сначала пройти через скрипт PHP" , = P так что, не бери в голову

...