Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-rus] Re: [apache-rus] mod_gzip и перекодировка Get



On Wed, 21 Mar 2001, Mikhail Zabaluev wrote:

> > Что касается EAPI, то он разрабатывался в основном с прицелом на mod_ssl,
> > по крайней мере, в том, что касается ввода-вывода. Сделать через него
> > гзипование не получиться. Нужно патчить buff.c, что и делается в
> > mod_deflate.
> 
> Почему не получится? Насколько я мог видеть, там в ключевых местах
> ввода-вывода вставлены "крюки", на которые можно вешать произвольные 
> обработчики. Если таким образом можно реализовать кодек SSL, почему нельзя
> сделать inflate/deflate с коррекцией заголовков или те же перекодировки
> для mod_charset?

В том то и дело, что не во всех ключевых местах. Вот, например, как
правится контент в случае mod_charset, mod_deflate и mod_ssl:
1. контент генериться
2. перекодируется - mod_charset
3. гзипется - mod_deflate
4. буфферизуется/разбивается на chunk'и - BUFF
5. шифруется - mod_ssl
6. пишется в сокет - write()

В EAPI есть хук только для 5. И хотя на этот хук можно повесить
хоть десять обработчиков, отработает лишь один (то ли первый, то ли
последний, точно не помню). Да и вешать на него mod_charset
и mod_deflate не получиться - после BUFF, во-первых, никак не
определишь, где хедер, а где тело, а во-вторых, тело уже
может быть разбито на chunk'и (в случае mod_deflate оно будет
разбито всегда).

Что касается коррекции заголовков, то при беглом рассматривании EAPI
на эту тему, я вообще ничего подобного не увидел.

Игорь Сысоев

=============================================================================
=               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 ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk 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.