Почему 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 для этого.