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
|