Увеличение быстродействия сайта. Правило 4: Сжатие gzip

Время, необходимое для передачи HTTP запроса и ответа через сеть может быть существенно уменьшено благодаря разумным решениям принятым разработчиками, которые занимаются внешним видом сайта. К сожалению, не всё подвластно команде разработчиков сайта. Они никак не могут повлиять на пропускную способность сети, интернет провайдера, близость пиринговых точек обмена и тому подобному. Но всё же есть возможность добиться увеличения времени отклика сайта. Благодаря сжатию можно увеличить время отклика, уменьшив размер самого HTTP запроса.

Начиная с HTTP/1.1, web-клиенты могут сообщать о поддержке сжатия с помощью заголовка Accept-Encoding в HTTP ответе.

Accept-Encoding: gzip, deflate

Если web сервер увидит такой заголовок в ответе, он может применить один из методов сжатия, указанных web-клиентом (браузером). Web сервер в свою очередь уведомляет клиента, какой метод сжатия он будет использовать отвечая заголовком Content-Encoding.

      Content-Encoding: gzip

Метод сжатия gzip является одним из самых популярных и эффективных на сегодняшний день. Он был разработан как проект GNU и стандартизирован RFC 1952. Другим форматом сжатия с которым вы можете встретится это deflate, но он менее эффективен и редко используется.

Сжатие gzip в общем случае уменьшает размер ответа клиенту примерно на 70%. Приблизительно 90% сегодняшнего интернет трафика проходит к браузерам которые заявляют о поддержке сжатия gzip.

Существуют некоторые проблемы с браузерами и прокси серверами, из-за которых могут возникнуть несоответствия тому какие данные браузер ожидает получить и что он в действительности получает в случае использования сжатия данных. К счастью, такое происходит всё реже, поскольку всё меньше людей использует старые браузеры. Web серверы на IIS или Apache в этом вам помогут, автоматически устанавливая соответствующие заголовки Vary.

Серверы выбирают, что нужно сжимать gzip-ом основываясь на типе файла, но обычно они слишком ограничены в том что им нужно сжимать. Большинство веб сайтов сжимают gzip-ом свои HTML документы. Но также стоит сжимать gzip-ом ваши скрипты и таблицы стилей, но многие веб сайты упускают такую возможность. На самом деле, возможно сжимать любой текст в сообщении отсылаемом от сервера к клиенту включая XML и JSON. Изображения и PDF файлы не нужно сжимать gzipp-ом, потому что они итак уже сжаты. Пытаясь их сжать gzip-ом вы только тратите процессорное время, к тому же ещё и можете даже увеличить размер самого файла.

Сжимая gzipp-ом как можно больше типов файлов это простой способ добиться уменьшения размера страницы и улучшить удобство использования сайта.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>