Для каких целей служит пустой файл gif (1x1 pix)?

12

Я видел несколько случайных страниц, упоминающих использование пустых изображений в формате gif для повышения производительности. Я также обнаружил, что nginx имеет модуль для этой цели. Что я не могу понять, так это то, как именно обслуживание этого небольшого файла должно повысить производительность или восприимчивость отклика от веб-сервера. Может ли кто-нибудь помочь мне понять преимущества?

Шон
источник
1
Я бы тоже хотел это знать. Я всегда видел их вокруг, но никогда не задумывался о том, почему ...
Марк Хендерсон

Ответы:

20

1x1 GIF файлы используются некоторые веб - сайты , чтобы установить расстояние между элементами (особенно на старых сайтах, сделанные при интерпретации браузерах из HTML / CSS были более расходящимся кашель IE кашель

Сегодня они также чаще используются в качестве цели запроса для «отслеживающих пикселей», которые используются в качестве инструмента для сбора статистики использования и т. Д., Особенно для почтовых / маркетинговых кампаний.

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

Лукас Уилсон-Рихтер
источник
Я всегда слышал, что это было в первую очередь для отслеживания пользователей, поэтому теневые «они» встраивали его как извлечение с другого сервера или места для легкого отслеживания попаданий, а также отправляли его по электронной почте, встроенные в html-письма, чтобы знать, читаете ли вы сообщение или не; Спамерская версия чека о прочтении для людей, которые не отключают HTML / RTF-сообщения и таким образом собирают их как успешные адреса для продажи другим спамерам.
Барт Сильверстрим
Это обычное использование в электронной почте, да. Для веб-сайтов эта техника была в основном заменена JavaScript, как Google Analytics.
ceejayoz
Также известны Transparent.gif , Spacer.gif , Clear1x1.gif , Blank.gif, проверяющие вики Link1 и Link2 , одно из случаев использования изображений css sprites flags на этом сайте.
Shaijut
8

Я не уверен в повышении производительности, но изображения с разрешением 1x1 обычно используются для отслеживания. Это изображение, которое обычно называют веб-ошибкой (или маяком), заставляет браузер отправлять HTTP-запрос на сервер, с которого происходит изображение. Затем этот запрос может быть проверен на предмет отслеживания информации (например, IP, браузер, реферер и т. Д.).

Сэмюэл Карп
источник
2

Поиск в Google по запросу « однопиксельный gif » или « однопиксельный gif » возвращает множество статей, в которых обсуждается методика использования этого файла для позиционирования элементов веб-страницы.

Из оптимизации дизайна: однопиксельные GIF-файлы (1 января 2000 г.):

На заре веб-дизайна ограничения HTML вдохновляли дизайнеров на поиск всевозможных обходных путей для контроля над макетом страниц. Одним из наиболее значительных из этих обходных путей был трюк GIF с одним пикселем, использующий GIF с одним пикселем и модифицирующий его с помощью атрибутов высоты, ширины, hspace и vspace тега IMG.

Сам GIF крошечный и практически не требует времени для загрузки. И, в зависимости от того, является ли один пиксель прозрачным или нет, результат может использоваться в качестве разделителя, или как горизонтальное или вертикальное правило.

Приостановлено до дальнейшего уведомления.
источник
2

Включение изображений 1x1 не увеличивает производительность, а снижает ее - это дополнительный HTTP-запрос, небольшой объем дополнительной полосы пропускания и т. Д.

Этот модуль просто предназначен для уменьшения снижения производительности (за счет более эффективного обслуживания изображения), поскольку может быть полезен метод размещения элементов на странице размером 1x1 пиксель.

ceejayoz
источник
Возможно, это было неправильное понимание того, что природа изображения 1x1 оптимизирована для выполнения своей работы, какой бы она ни была (отслеживание, интервал и т. Д.), С наиболее оптимальной производительностью.
Ксонатрон
но спрайты css повышают производительность, изображения 1x1 Также известны Transparent.gif , Spacer.gif , Clear1x1.gif , Blank.gif проверяют вики Link1 и Link2 , одно из применений css sprites помечает изображение на этом сайте.
Shaijut
@stom Это не имеет ничего общего с CSS-спрайтами.
ceejayoz
1

Они также используются для спрайтов изображений; небольшое прозрачное изображение используется в качестве атрибута src тега изображения, а реальное изображение - это фоновое изображение CSS. Преимущество в производительности достигается за счет того, что фон CSS является лишь частью одного изображения, которое объединяет множество изображений со страницы, уменьшая количество общих запросов.

Смотрите, например:

armb
источник
Это должен быть главный ответ. В других ответах есть много полезной информации о том, что можно сделать с помощью однопиксельных GIF-файлов, но это единственный ответ, который описывает причину производительности для их использования.
mc0e
0

Все отличные ответы выше. Есть другое использование для модуля.

Если вы хотите заблокировать показ объявлений в своей сети, если вы просто отрицаете запрашиваемые URL-адреса, страдает время загрузки браузера (или вы получаете сообщение о блокировке, отображаемое на странице). Решение состоит в том, чтобы перенаправить трафик браузера на внутренний сайт, на котором размещено пустое изображение (а не отклонять URL-адрес запроса).

Некоторые приемы, которые можно использовать для перенаправления, - это правила перезаписи Dnsmasq и Squid.

paxos1977
источник