2009-02-24 3 views
1

Я использую разные теги аналитики в одном из наших веб-приложений. Большинство из них называют код javascript для отслеживания.Что именно означает этот URL?

Некоторые теги имеют URL-адрес изображения gif с querystrings.

Пример: http://www.google-analytics.com/__utm.gif?utmwv=45.542

Что именно этот URL делать? Как они получают значения из querystring?

Обновление: (после прочтения некоторых ответов) Я знаю, что каждый браузер загрузит gif, который равен 1x1 пикселю. Но как они получают значения из строки запроса? в приведенном выше случае, как они могут получить значение utmwv? Любые примеры кода?

ответ

4

В принципе, вы пишете сценарий на предпочитаемом вами языке и сопоставляете этот скрипт с yourtrackingscript.gif. ..jpg, png даже.

Сделал это в asp.net с помощью обработчика http.

Сценарий читает запрос, как и любую другую динамическую страницу (aspnet, asp, php, что-то действительно), затем записывает ее в файл db или log или делает все, что вы хотите с ней делать.

Затем соответствующим образом установите заголовок содержимого, например «image/gif», и отправьте назад изображение с 1 пикселем или любое другое изображение, которое вам нравится.

Для всего лишь 1-пиксельного изображения я открыл изображение типа spacer.gif размером 1 пиксель в шестнадцатеричном редакторе и жестко закодировал его как массив байтов для отправки в качестве ответа, сэкономит немного накладных расходов IO, если это сильно ударит, вы можете прочитать файл с диска или БД и отправить его обратно.

Это обычно используется трюк в почтовых рассылках для отслеживания открытых ставок и т.д.
Часто труднее немного об этом, когда вы не имеете достаточно прав, чтобы отобразить URL в скрипт на общем компьютере, но может разработать его как обычный скрипт/программу, а затем получить сортировку, если вы ее работаете.

Большинство современных браузеров будут реагировать на URL-адрес aspx или php (.etc ...) в качестве изображения, если он отправляет правильные заголовки, это более старые браузеры, плагины для браузеров для браузеров и почтовые клиенты, которые являются самыми передовыми Это.

0

Строка запроса по-прежнему отправляется на сервер при запросе изображения.

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

1

Так же, как вы можете передавать строки запроса на страницы ASP.NET, вы можете передавать строки запроса на любой URL; если вы используете инфраструктуру на основе MVC, такую ​​как ASP.NET MVC или Rails, захват параметров из URL-адреса, как это легко. Затем все, что вам нужно сделать, это вернуть изображение GIF.

0

хорошо .. __utm.gif - это изображение размером 1 × 1, с которым google должен регистрироваться, что означает, что они также собирают значение строки запроса в своих журналах. Ничего сложного в этом нет. i thot utmwv был номером версии, но не ясно, что это означает.

+0

как спать? Я знаю его gif, и любой браузер загрузит его. Но как они получают значение из строки запроса. Любой код? :) Спасибо за ответ – Shoban

1

Любой браузер загрузит изображение на свой URL, даже без javascript. Когда это произойдет, параметры строки запроса и заголовки запросов от клиента могут быть захвачены для аналитики. Таким образом, он позволяет аналитику захватывать без javascript.

+0

Как его можно захватить? был мой вопрос :) – Shoban

+0

Хост, к которому этот url подключается, является веб-приложением. Это веб-приложение может взаимодействовать со своей собственной базой данных и проверять строку запроса и заголовок столько, сколько ему нравится. После выполнения всего этого веб-приложение возвращает небольшой gif в качестве ответа на запрос. –

1

Это не GIF, это космическая станция (beta)!

Другими словами, хотя URL-адрес, похоже, указывает на изображение, веб-сервер на www.google-analytics.com передает этот запрос на некоторый сценарий обработки, который затем извлекает данные и отправляет содержимое изображения GIF 1x1 обратно браузера.

Вот пример использования веб-сервер Apache и mod_rewrite:

# in .htaccess 
RewriteEngine On 
RewriteRule ^__utm\.gif /someprocessingscript.php [QSA] 

<?php // in someprocessingscript.php 
do_some_tracking($_GET); // this would probably analyze and log data 
header('Content-Type: image/gif'); 
readfile('1x1.gif'); 
exit; 
?> 

Другой вариант: служить реальной GIF (вероятно, с Cache-Control: no-cache), регистрировать все доступы, анализировать журналы впоследствии. Это может быть быстрее, так как это не требует внутренней перезаписи и никаких сценариев при каждом доступе.

0

Но как они получают значения из строки запроса? в приведенном выше случае, как они могут получить значение utmwv? Любые примеры кода?

Если они хотят, чтобы вызывающая страница имела референт, если они хотят, чтобы их параметры имели URI запроса.

print($_SERVER['HTTP_REFERER']); 
print($_SERVER['REQUEST_URI']); 
Смежные вопросы