Персональный
|
|
Модуль mod_deflate
07.08.2002 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 работает на большинстве серверов Рамблера, в том числе и на www.rambler.ru, search.rambler.ru и mail.rambler.ru. Кроме того, модуль используется на серверах www.anekdot.ru, www.kaspersky.ru, на многих российских серверах и на нескольких зарубежных. Последняя версия модуля 1.0.14 и именно в ней учтены все известные мне проблемы. Эта версия работает с любой версией Apache, начиная с 1.3.12 и кончая последней на данный момент 1.3.26. Однако, если по каким-либо причинам Вы не можете установить новую версию модуля, то при минимальных настройках: в подавляющем большинстве случаев должны работать все версии, начиная с 1.0.4.DeflateEnable on DeflateDisableRange "MSIE 4." Интересующие Вас вопросы Вы можете задать в списке apache-talk или мне лично. Должен заметить, что mod_deflate никак не связан с одноимённым экспериментальным модулем в дистрибутиве Apache 2.0. mod_deflate далеко не единственный способ сжать ответ HTTP-сервера. Для Apache существует модуль mod_gzip. Он не патчит Apache, однако, в отличие от mod_deflate, сжимающего ответ на лету, mod_gzip сохраняет ответ во временный файл, который затем сжимает. В PHP 4.x и выше есть функция gzcompress(), а для mod_perl модуль Apache::GzipChain, однако они позволяют сжимать только ответы соответствующих модулей. Microsoft IIS 5.0 умеет сжимать ответ методами gzip и deflate. Yandex.ru умеет выдавать страницы с результатами поиска в сжатом виде. Что используется для сжатия, мне не известно, но, скорее всего, это собственный патч. (C) Igor Sysoev |