Почему Google Analytics запрашивает GIF файл?

Почему Google Analytics запрашивает GIF файл?

Это потому, что GIF позволяет получить доступ к большему количеству данных, чем только JavaScript. Получать IP-адрес пользователя?

Ответы

Ответ 1

Даже с включенным JavaScript, аналитика запрашивает файл GIF. Если вы посмотрите на параметры GET изображения, он содержит много информации о браузере. Материал типа utmsr=1280x1024 (размер экрана). В коде Google есть список параметров.

Он использует запрос изображения для отправки информации о браузере без XMLHttpRequest.

Теперь, чтобы ответить на исходный вопрос, Google, вероятно, делает это, чтобы обойти междоменные XMLHttpRequest ограничения.

Ответ 2

Google javascript должен каким-то образом передавать детали вашего просмотра страницы на свои серверы. Ajax не может использоваться во всех доменах, поэтому единственный способ отправить информацию - запросить файл с сервера Google, передав необходимую информацию в строке запроса. Чтобы облегчить это, необходимо запросить некоторую форму контента с использованием стандартного тега HTML. Самый простой способ сделать это без влияния на страницу - загрузить 1x1 прозрачный gif. Обратите внимание, что в случае Google script (и других) это изображение фактически не добавляется на страницу. Он просто загружается с помощью оператора javascript

var img1 = new Image();
img1.src = 'http://path/to/file.gif?otherinfohere';

Загружает изображение без добавления его на страницу. Информацию можно также загрузить с помощью тега script, например:

<script src="http://path/to/script.js?otherinfohere" type="text/javascript"><script>

Однако пользователи с большей вероятностью блокируют javascript, чем изображения, поэтому более безопасный маршрут - это запрос изображения. Что касается того, почему они используют gif вместо того, чтобы сказать, jpg, gif безопаснее, если браузер-мошенник фактически добавляет изображение на страницу. Прозрачный gif вряд ли негативно повлияет на макет, где, поскольку 1x1 jpg оставит 1 пиксельную точку где-то на странице.

Изменить: чтобы добавить к моему комментарию о пользователях, заблокировавших javascript, в тег noscript можно добавить запрос gif, содержащий статическую информацию, чтобы обеспечить базовое отслеживание даже в том случае, если javascript отключен. Насколько мне известно, GA этого не делает, но некоторые другие поставщики веб-аналитики делают.

Ответ 3

http://www.perlmonks.org/?node_id=7974

Самый маленький GIF-трансперант 43 байта.

http://garethrees.org/2007/11/14/pngcrush/

Самый маленький Transperant PNG-24 (который также не может быть показан старыми браузерами) 67 байт.

http://www.techsupportteam.org/forum/digital-imaging-photography/1892-worlds-smallest-valid-jpeg.html

Самый маленький (непрозрачный) JPEG 134 байт.

Математика проста! Большой размер = больше затрат.

Ответ 4

  • вы можете использовать трекер __utm.gif без javascript (с некоторой помощью сервера)

  • вы можете использовать его в сообщении электронной почты (с некоторой программной помощью перед отправкой электронной почты)

  • Urchin был разработан до того, как AJAX был популярен (2005)

Это не имеет ничего общего с кросс-доменом. Они могли использовать JSONP для этого.