Персональный
сайт
Игоря
Сысоева


 
english
обо мне
 
sysoev.ru
 
nginx
 
mod_accel
mod_realip
mod_deflate
 документация    
 изменения    
 скачать    
программирование
всякая всячина
windows
freebsd
apache
pppd
unix
web
 
 

Модуль mod_deflate

 

09.02.2005

mod_deflate — это модуль и набор патчей для Apache, позволяющие сжимать ответ методами gzip или deflate. Модуль создан в 2001 году на основе патча для Apache 1.3.1, разработанного Дмитрием Хрусталёвым в 1998 году и использовавшегося на сервере www.rbc.ru. Дмитрий выполнил самую сложную часть — собственно сжатие ответа Apache. Мне достались существенно более простые задачи — преобразование основной части патча в модуль, корректная реализация сжатия результатов вызова функций ap_bprintf() и ap_vbprintf(), конфигурационные директивы, проверка уровня загрузки процессора, процедура установки и написание документации. Также я добавил метод deflate, после чего обнаружилось, что его использование нежелательно и поэтому он по умолчанию запрещён. Были и достаточно непростые задачи — такие, как определение условий, при которых Mozilla 0.9.1 и MSIE 4.x некорректно воспринимают сжатый ответ.

mod_deflate работает на большинстве серверов Рамблера, а также на yandex.ru и mail.ru.

Последняя версия модуля — mod_deflate-1.0.21 и именно в ней учтены все известные мне проблемы. Эта версия работает с любой версией Apache 1.3, начиная с 1.3.12 и кончая последней на данный момент — 1.3.31. Однако, если по каким-либо причинам Вы не можете установить новую версию модуля, то при минимальных настройках:

DeflateEnable on
DeflateDisableRange "MSIE 4."
в подавляющем большинстве случаев должны работать все версии, начиная с 1.0.4.

Интересующие Вас вопросы Вы можете задать в списке apache-talk или мне лично.

Должен заметить, что mod_deflate никак не связан с одноимённым модулем в дистрибутиве Apache 2.0.

mod_deflate далеко не единственный способ сжать ответ HTTP-сервера. Для Apache существует модуль mod_gzip. Он не патчит Apache, однако, в отличие от mod_deflate, сжимающего ответ на лету, mod_gzip сохраняет динамический ответ во временный файл, который затем сжимает.

PHP 4.x и выше поддерживает сжатие ответов, а для mod_perl есть модуль Apache::GzipChain, однако они позволяют сжимать только ответы соответствующих модулей. Microsoft IIS 5.0 умеет сжимать ответ методами gzip и deflate.

(C) Игорь Сысоев
http://sysoev.ru