Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: платная доработк а nginx
On Wed, Jan 28, 2009 at 01:19:59PM +0000, Valery Kholodkov wrote:
>
> "Igor Sysoev" <is@xxxxxxxxxxxxx> wrote:
>
> > SSI-фильтру не нужно иметь тело запроса. SSI-фильтру нужно просто
> > вызвать
> > подзапрос, а уже этот подзапрос, если он обрабатывается
> > proxy/fastcgi,
> > сам прочитает тело.
>
> Это будет работать, если параллельные подзапросы смогут координировать прием
> тела между собой. В противном случае все подзапросы унаследуют пустое тело и
> только один его прочитает. В данный момент ни подзапросы не координируют
> прием тела, ни статический хэндлер не откладывает отброс тела.
Приём тела сейчас должен координироваться (не проверял), потому что из
всех параллельных подзапросов с клиентом может работать только один -
если бы этого не было, то в выводе была бы мешанина.
Единственная на данный момент проблема - тело достаётся только
первому подзапросу, прочитавшему тело. Решается хранением тела в основном
запросе.
> Хотя идея хорошая, будет потребляться меньше ресурсов.
>
> > > > В смысле - фаза приёма тела вызывается после контентной ?
> > >
> > > Да.
> >
> > Это сути не отличается от того, что я хотел сделать - откладывать
> > дискард
> > тела до последнего, если тело не было прочитано. Вопрос лишь в том,
> > когда
> > собственно можно делать дискард.
>
> Этот вопрос ставит под сомнение возможность элегантной реализации как
> таковой, поскольку узнать, что в теле нет ни одного post-подзапроса можно
> только после того, как SSI-фильтр полностью завершит обработку тела.
О чём я, собственно, и написал в том письме.
Придётся возвращаться к тому самому патчу.
--
Игорь Сысоев
http://sysoev.ru
|