Готовый перевод Best Practices for Speeding Up Your Web Site / Рекомендации лучших вебоводов для ускорения вашего сайта: Gzip Components / Сжимайте компоненты

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

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

<b>Accept-Encoding: gzip, deflate</b>

Когда веб-сервер видит такую запись в заголовке, он может упаковать ответ с помощью одного из методов, перечисленных в запросе клиента. Веб-сервер сообщает об этом веб-клиенту с помощью параметра Content-Encoding в заголовке ответа.

<b>Content-Encoding: gzip</b>

Gzip наиболее популярный и эффективный метод компрессии на данный момент. Он был разработан в составе проекта GNU и описан в стандарте RFC 1952. Еще один формат, с которым вы возможно встретитесь, это deflate, но он менее эффективен и менее популярен.

Гзиппинг уменьшает размер ответа приблизительно на 70%. Ориентировочно 90% нынешнего интернет-траффика проходит через браузеры, поддерживающие gzip. Если вы используете Apache, то модуль конфигурации gzip зависит от версии: Apache 1.3 использует mod_gzip, а Apache 2.x использует mod_deflate.

Известен ряд проблем с браузерами и прокси, которые могут привести к несоответствию между тем, что ожидает браузер и тем, что он получит в результате компрессии. К счастью эти проблемы сокращаются с уменьшением использования устаревших браузеров. Модули Апача помогают в этом, автоматически добавляя в заголовок соответствующий параметр Vary.

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

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

Переведено на Нотабеноиде
http://notabenoid.org/book/31735/110114

Переводчики: Alexasa

Настройки

Готово:

100.00% КП = 1.0