Подтвердить что ты не робот

Mod_deflate vs mod_gzip

Может ли кто-нибудь сказать мне разницу в следующих сценариях с точки зрения производительности и сжатия нагрузки процессора?

<ifModule mod_gzip.c> 
mod_gzip_on Yes 
mod_gzip_dechunk Yes 
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ 
mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* 
mod_gzip_item_include mime ^application/x-javascript.* 
mod_gzip_item_exclude mime ^image/.* 
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* 
</ifModule> 


<ifModule mod_deflate.c> 
<filesMatch "\.(js|css)$"> SetOutputFilter DEFLATE </filesMatch> 
</ifModule> 
4b9b3361

Ответ 1

Я думаю, вы спрашиваете о различиях между этими двумя, а не о сжатии в целом. В этом случае я рекомендую использовать mod_deflate, который опирается на все еще активный проект zlib. BTW, старые статьи (6-7 лет), которые сравнивают эти два, больше не актуальны.

Ответ 2

Оба эти модуля делают одно и то же: добавляют сжатие gzip на лету.

В наши дни вы должны использовать mod_deflate - более современный и рекомендуемый, который распространяется с Apache. mod_gzip был более старой сторонней реализацией, и больше нет веских причин использовать его.

Не обманывайтесь именами, заставляя их думать, что они используют разные схемы сжатия. Они оба используют gzip (формат, который использует алгоритм сжатия, называемый DEFLATE). Последний называется только mod_deflate, потому что имя mod_gzip было взято. Они оба достигнут одинаковых уровней сжатия с эквивалентными настройками.

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

Ответ 3

Большинство алгоритмов сжатия, применяемых к текстовому файлу, могут уменьшить его размер на 70% или более, в зависимости от содержимого в файле. При использовании алгоритмов сжатия разница между стандартным и максимальным уровнями сжатия мала, особенно если учесть дополнительное время процессора, необходимое для обработки этих дополнительных проходов сжатия. Это очень важно при динамическом сжатии веб-контента. Большинство методов сжатия содержимого программного обеспечения используют уровень сжатия 6 (из 9 уровней) для экономии циклов процессора. Разница в размере файла между уровнем 6 и уровнем 9 обычно настолько мала, что не стоит дополнительного времени.

Для файлов, идентифицированных как типы text/.* MIME, сжатие может быть применено к файлу до его размещения на проводе. Это одновременно уменьшает количество переданных байтов и повышает производительность. Тестирование также показало, что файлы Microsoft Office и PostScipt могут быть закодированы в GZIP для транспорта с помощью модулей сжатия.

Некоторые важные типы MIME, которые не могут быть закодированы GZIP, - это внешние файлы JavaScript, файлы PDF и файлы изображений. Проблема с файлами Javascript в основном связана с ошибками в программном обеспечении браузера, так как эти файлы являются действительно текстовыми файлами, а общая производительность может быть сжата для транспорта. Файлы PDF и изображений уже сжаты, и попытка их сжать снова просто увеличивает их и приводит к потенциальным проблемам с браузерами.

Перед отправкой сжатого файла клиенту жизненно важно, чтобы сервер обеспечивал правильное понимание клиентом данных, которые передают сжатый формат. Браузеры, которые понимают сжатый контент, отправляют варианты следующих заголовков клиентских запросов:

Accept-encoding: gzip

Accept-encoding: gzip, deflate 

В настоящее время основные браузеры включают некоторые изменения этого сообщения с каждым отправленным им запросом. Если сервер видит заголовок и решает предоставить сжатый контент, он должен отвечать заголовком ответа сервера:

Для получения дополнительной информации см. эту статью: http://www.linuxjournal.com/article/6802

Ответ 4

Включение mod_deflate и mod_gzip в основном выполняет одно и то же, они оба сжимают ваши веб файлы, прежде чем они будут отправлены посетителям вашего сайта.

Между ними существуют различия; mod_deflate может иногда иметь более низкий процент сжатия как mod_gzip. Другая причина, по которой вы должны выбрать mod_deflate, - это то, что она лучше поддерживается как mod_gzip, что упрощает настройку, потому что она лучше документирована. Более подробную информацию можно найти здесь.

Ответ 5

Ознакомьтесь с этой статьей на linuxjournal.com

http://www.linuxjournal.com/article/6802

Кроме того, mod_deflate легче настраивать и обычно поставляется вместе с пакетом apache.

Ответ 6

IMHO Вам следует избегать использования mod_deflate для статических файлов, вместо этого используйте предварительно сжатые файлы через mod_rewrite с лучшим сжатием (7zip создал gzip AFAIK). Apache не кэширует статические файлы gzipped.

Для динамических файлов: зависит от доступной полосы пропускания - mod_deflate требует большой вычислительной мощности, но может использоваться, если ваш сервер способен переполнять вашу сеть.