> > >
> > Кстати - а вот такой вопрос. Если идет запрос методом POST -
> > он целиком засасывается в память или перекодируется как поток ?
> Он перекодируется "по кусочкам". Т.е. модуль вызывает функцию
> get_client_block и говорит ей сколько данных он готов принять.
> mod_cgi засовывает данные в скрипт кусками по 8k или типа того.
>
> > И вообще - как на этот метод передачи данных формы реагирует
> > RussianApache ?
> Не очень хорошо. Перекодируется все, включая file uploads. На
> разборку mime у меня запала пока не хватило
>
То есть если пойдет приаттаченный GIF или JPEG - его тоже
перекодирует ?
>
> Alex
>
Кстати, еще вопрос - раз уж полезли в глубь.
Есть такой интересный метод выдачи HTTP-документов, как Server
Push. В кратце это вот что ( если кто не знает ) : выдается mime-тип
'multipart/x-mixed-replace'. После чего сервер и клиент соединение
не разрывают. В любой момент времени сервер может выдать очередную
порцию данных ( предваренных mime-типом этих данных и завершенных
'boundary'-строчкой ), при этом клиент отображает вновь пришедшую
порцию данных вместо пришедшей ранее. На этом механизме удобно
( в принципе ) строить всякие чатники, камеры реального времени и
тому подобную фигню - вобщем там, где нужен переодический Refresh.
Самое приятное при этом - что не надо каждый раз заново создавать
TCP-соединение + сам СЕРВЕР решает,в какой момент ему выдать данные.
При попытке реализации этого метода с ранней версией RussianApache
( но помню точно какой, но это точно было еще Apache 1.1 ) у меня
нифига не получилось. То есть пока я выплевывал эти порции - броузер
ничего не отображал, только показывал, что что-то качает. И тока
после того, как CGI-шник завершался, броузер быстро пролистывал все
выданные ему странички. С обычным-же апачем все было нормально.
Я догадываюсь, что это связано именно с буферизацией вывода для
перекодирования, поэтому тогда писать не стал и написал маленького
демона, который для определенной функции как-раз работает как
HTTP-сервер с использованием Server Push - к тому-же было полезно
поучиться писать на сокетах. Впрочем, тогда эта фигня не прижилась -
Netscape через какое-то время просто рвал коннект, и я стал
использовать обычный HTTP-заголовок 'Refresh: <секунды>'.
Ну так вот вопрос - а как на Server Push будет реагировать последняя
версия RussianApache ?
Sincerely yours,
Felix A. Milovnaov,
http://chat.portal.ru
P.S. Sorry за многословность - краткость сестра таланта, я знаю,
каюсь, грешен ....
"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.