mod_deflate
mod_deflate — это дополнительный модуль для HTTP-сервера Apache , Apache v2.0 и более поздних версий. Он основан на Deflate алгоритме сжатия данных без потерь , который использует комбинацию алгоритма LZ77 и кодирования Хаффмана . Этот модуль предоставляет выходной фильтр DEFLATE, который позволяет выходные данные HTTP-сервера Apache сжимать перед отправкой клиенту по сети. Он также предоставляет фильтр для распаковки ( раздувания , распаковки ) gzip сжатого тела ответа, . [ 1 ]
Ограничение
[ редактировать ]Модуль mod_deflate не имеет нижней границы размера файла, поэтому он пытается сжимать файлы, которые слишком малы, чтобы извлечь выгоду из сжатия. Это приводит к тому, что файлы размером менее 120 байт становятся больше при обработке mod_deflate.
Совместимость
[ редактировать ]Вы можете проверить сервер, отправляет ли он сжатые данные, а также совместимость сжатия вашего браузера, например, здесь .
Когда текстовый контент сжимается с помощью mod_gzip, он должен сохранять свой MIME-тип в соответствии с рекомендуемым типом носителя:
- HTML: текст/html
- XHTML: приложение/xhtml+xml
- CSS: текст/css
- JavaScript: приложение/x-javascript
Альтернативы
[ редактировать ]Модуль mod_gzip аналогичен mod_deflate для Apache v1 и v2.
Модуль mod_gz был независимо разработан Яном Холсманом. сжатия gzip Этот модуль реализует фильтр для Apache 2.0, обеспечивая функциональность, аналогичную mod_gzip. Одним из важных различий между этими двумя модулями является то, что mod_gzip включает собственную реализацию gzip, тогда как mod_gz использует внешнюю библиотеку zlib.
В PHP аналогичный эффект достижим для вывода PHP-скриптов с помощью:
- функции ob_gzhandler () и gzencode() ;
- Параметр zlib.output_compression в файле php.ini.
CherryPy предлагает фильтр Gzip , [ 2 ] который использует модуль zlib стандартной библиотеки Python.
Лицензия
[ редактировать ]Модуль mod_deflate является частью Apache v2, лицензированным по лицензии Apache License 2.0.
История
[ редактировать ]Сжатие содержимого на уровне модуля для Apache началось с mod_gzip , который является внешним модулем расширения, начиная с Apache 1.3.
Разработчики серверов Apache 2.0.x включили mod_deflate в кодовую базу сервера для выполнения аналогичной функции кодирования GZIP. Ранние версии обеспечивали меньшую степень сжатия, чем mod_gzip. [ 3 ]
Начиная с Apache 2.0.45, уровень сжатия mod_deflate настраивается с помощью директивы DeflateCompressionLevel . Эта директива принимает значения от 1 (самая быстрая скорость сжатия, самая низкая степень сжатия) до 9 (самая медленная скорость сжатия, самая высокая степень сжатия), при этом значение по умолчанию равно 6. Это изменение сделало сжатие в mod_deflate сравнимым со стандартным mod_gzip.
См. также
[ редактировать ]- HTTP-сжатие
- Некоторые модули Apache общего назначения
- Некоторые интерфейсы языков программирования для Apache
Примечания
[ редактировать ]- ^ mod_deflate также предоставляет фильтр для распаковки тела ответа, сжатого gzip.
- ^ «CherryPy предлагает фильтр Gzip» . Архивировано из оригинала 12 февраля 2005 г. Проверено 7 апреля 2011 г.
- ^ Сравнение mod_deflate и mod_gzip
Внешние ссылки
[ редактировать ]- Модуль Apache mod_deflate — для Apache 2.0.
- Модуль Apache mod_deflate — для Apache 2.2.
- mod_deflate Тест уровня сжатия — размер файла по сравнению с. нагрузка на сервер — протестировано с Apache 2.2.