Правильное использование Content-Encoding


9

Я слышал, что предполагается, что использование установки Content-Encoding для страницы в zip или gzip уменьшит время загрузки и уменьшит пропускную способность. Это стоит реализовать для среднего сайта или только для сайтов с высокой нагрузкой? Кроме того, как можно настроить страницы, которые будут обслуживаться таким образом, в среде LAMP? Есть ли практическая разница между zip и gzip?


Я думаю: zip = deflate
Оскар Ског

Ответы:


6

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


2

Браузер может отправить заголовок «Accept Encoding», в котором говорится, что он может принимать различные виды кодирования. Обычно это "gzip, deflate". (У Google Chrome есть странный формат, называемый «sdch», который вы можете просто проигнорировать.) Затем, если вы получите этот заголовок из браузера, вы можете, если хотите, отправить обратно сжатый контент, используя формат gzip или deflate. Когда вы сделаете это, вам, конечно, нужно сообщить браузеру, что вы сделали, поэтому вы добавляете заголовок «Content Encoding» к своим исходящим материалам.

Оба формата gzip и deflate определены в RFC (документы по стандартам Интернета). Опция «zip» отсутствует, хотя в некоторых браузерах может быть опция «bzip2».

Теперь ваша проблема - закодировать ваши материалы в этом формате и отправить их обратно. Если вы используете Apache, есть способы настроить его на автоматическое выполнение (mod_deflate и т. Д.). Если вы отправляете изображения, обратите внимание, что большинство форматов изображений, таких как JPEG, PNG, GIF и т. Д., Уже сжаты, поэтому вы не получите никакой выгоды от их сжатия. В основном это работает только для HTML, CSS, простого текста или JavaScript.

Вы должны быть осторожны, используя кодировку «deflate», так как Internet Explorer имеет давнюю ошибку, которая не слишком хорошо понимает это. Я считаю, что такие вещи, как Google App Engine, автоматически определят, какое сжатие использовать, и примените его для вас.


1

Чтобы расширить ответы Jason Birchs и Kinopikos : еще одна важная причина, по которой вы абсолютно хотите применить эту (очень простую) оптимизацию, - это объявление Googles об использовании скорости сайта в рейтинге веб-поиска по состоянию на 09 апреля 2010 года. Вы, безусловно, не хотите пропустить на улучшение ваших SEO усилий, что легко;)

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.