ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

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

Re: HEAD и proxy_pass: закрывается k eep-alive соединение



Hello!

On Wed, Jan 19, 2011 at 06:02:18PM +0600, Ilya Kuznetsov wrote:

> 19 января 2011 г. 17:27 пользователь Maxim Dounin <mdounin@xxxxxxxxxx> 
> написал:
> > Keepalive соединение может быть закрыто в любой момент.  Если
> > клиент в шоке - он глубоко неправ.
> Это так, но почему поведение именно такое? Насколько вижу я,
> необходимости закрывать соединение нет.

HEAD-запросы при наличии proxy_cache/proxy_store отправляются на 
бекенд как GET, и в контексте того же соединения nginx получает (и 
сохраняет в кеш) тело ответа.  Соединение закрывается после 
отправки заголовка чтобы а) не отправлять клиенту тело и б) клиент 
не ждал, когда этот процесс завершится.  То же самое будет и для 
If-Modified-Since запросов (если ответа нет в кеше, а у клиента он 
уже есть).

Безусловно, текущая реализация не идеальна, правильнее было бы 
получать тело в каком-нибудь другом контексте или хотя бы отдавать 
в таких ситуациях "Connection: close".  Но каких-либо нарушений 
протокола в этом месте я не вижу.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.