On Tue, 20 Mar 2001, Mikhail Zabaluev wrote:
> Бороть mod_gzip затруднительно, поскольку его исходный текст представляет
> из себя один файл на C из более чем 13000 строк. Вдобавок, добрая часть
> этой глыбы посвящена реализации алгоритма, с которым прекрасно справляется
> библиотека zlib. Видя такое, хочется юзать винтовку, а не отладчик.
> Код обработки запросов в этом модуле, по моим впечатлениям - большой хак.
Это точно. Они взяли на себя диспетчинг обработки всех фаз.
Плюс все динамические респонзы они сначала скидывают во временные
файлы, которые потом гзипиться.
К сожалению, API Апача 1.3.x не оставляет более прямых методов.
> Чтобы без проблем сосуществовать с другим хаком, имя которому - Russian
> Apache, хак должен быть элегантен, как, например, EAPI товарища
> Engelschall'а. Забавно, в mod_ssl и mod_gzip решаются сходные задачи -
> сделать "кодек" ввода-вывода незаметным для подсистемы обработки запросов
> - а подходы разные, как божий дар и яичница.
На самом деле, чтобы RA перекодировал то, что потом будет гзипиться, нужно
патчить именно RA. Но в ситуации с mod_gzip это не поможет, потому как
он гзипит до того, как это попадает к RA.
Что касается EAPI, то он разрабатывался в основном с прицелом на mod_ssl,
по крайней мере, в том, что касается ввода-вывода. Сделать через него
гзипование не получиться. Нужно патчить buff.c, что и делается в
mod_deflate.
Игорь Сысоев
=============================================================================
= Apache-Rus@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-rus" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/mail-archive =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.