Hello Igor,
Friday, August 31, 2007, 6:03:27 PM, you wrote:
> On Fri, Aug 31, 2007 at 05:16:18PM +0300, Igor Savchenko wrote:
>> 1. Если внутри перлового обработчика пусто, к примеру:
>>
>> package MyPerlHandler;
>>
>> use nginx;
>>
>> sub handler
>> {
>> my $r = shift;
>>
>>
>> }
>>
>> 1;
>> __END__
>>
>> Тогда при запросе на локатион который обрабатывается таким
>> обработчиком nginx думает секунд 5 и ничего не возвращает точнее
>> получается ответ с кодом 0 и пустым телом (без хедеров) и при этом в
>> error.log ничего не кладется.
>> Вопрос: Может это как-нибудь хендлить и писать в эрор лог хоть
>> что-нибудь?
>>
>>
>>
>> 2. Если внутри обработчика написать $r->print("123"); return OK;
>> Без $r->send_http_header, то данные клиенту передаются, но
>> появляется опять же секунд на 5 задержка. Откуда она берется? а
>> также информация о том что клиенту отдался контент без хедеров в
>> лог тоже не кладется. Может что-то писать следует? Или принудительно
>> слать хедеры?
> Задержка, скорее всего, берётся из "keepalive_timeout 5".
Да. Так и есть.
> В первом случае действительно вообще ничего не передаётся.
> Во втором только "123". На мой взгляд, это удобно для написания
> серверов, работающих по псевдо-HTTP.
Ясно. Но для не "псевдо-HTTP" а для скажем при простой разработке бывает
что просто забыл отправить хедеры, может стоит какой-нибудь notice
клась в еррор лог?
> Ксати, а как в подобных случаях ведёт себя Апачевский mod_perl ?
> У меня есть подозрение, что так же.
Не работал с ним, не могу сказать.
---------------------------------
Igor V. Savchenko
http://webta.net
mailto: igor@xxxxxxxxx
ICQ: 86915046