ПРОЕКТЫ 


  АРХИВ 


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: патч для Connection: Keep-Alive


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: патч для Connection: Keep-Alive
  • From: Илья Шипицин <chipitsine@xxxxxxxxx>
  • Date: Tue, 14 May 2013 18:15:05 +0600
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=lacIJHXfxR6iP0K1qU8xRS9A6mrNkUJcS3LC8AC1UYc=; b=QsD+NdwO8U1n3a6FWKCvuf7cXo58BqaqxSkKrV+GMHh73UTc+8fAL4oBBVqbdEY6q2 j8K3F1C8rnBJV9Zz6oW4RETjMlE7wesgw5324/gCCDPD2F9YiRSlYmxDN+Iq65NBN2Cw D9bx9smwFH/w1jwGSCiM7hlN5qsblvTf4bbf9z9ICaDGvV5XmeyOZuseaAdOGr4Jjxoq p2Q8O89l0n6HAU6m8FHzXTsdxYscpOah7Up457yMdfUQyfOF7MyC5zRdvjEMTJ2/Oazl E7riqGyMDk+B3wP4kEvUwNu/k5qIjJYcQ3ZI68/yGbdB55SsVFL7lRgjMU/O65caVVgW kKTw==
  • In-reply-to: <20130514114117.GC69760@mdounin.ru>
  • References: <CAFHpkQF_oxjeMt02DTCEDYZinVxGHY1Ov8KDmavSnYTraf25LQ@mail.gmail.com> <20130514114117.GC69760@mdounin.ru>

14 мая 2013 г., 17:41 пользователь Maxim Dounin <mdounin@xxxxxxxxxx> написал:
> Hello!
>
> On Tue, May 14, 2013 at 02:24:31PM +0600, Илья Шипицин wrote:
>
>> Добрый день!
>>
>> предлагаю оставить только "Connection: Keep-Alive" в случае HTTP/1.0
>> во всех остальных случаях предлагаю не отдавать никакой Connection.
>>
>> Аналогичным образом работает IIS.
>
> Если заголовок Keep-Alive в ответе есть, то в заголовке Connection

насколько я могу судить по rfc 2616:

   The following HTTP/1.1 headers are hop-by-hop headers:

      - Connection
      - Keep-Alive
     ......

и далее

   HTTP/1.1 proxies MUST parse the Connection header field before a
   message is forwarded and, for each connection-token in this field,
   remove any header field(s) from the message with the same name as the
   connection-token.


т.е. в ответе заголовок заголовок Keep-Alive может появиться только,
если мы сами его добавим ?

> он должен также присутствовать.  Так что в таком виде патч
> как минимум некорректен.

во всех случаях, когда добавлялся Keep-Alive: timeout, добавлялся
также и Connection. не вижу ничего некорректного. можете уточнить ?

другое дело, что я накосячил и не добавлял Keep-Alive: timeout там,
где предполагалось. да, признаю ошибку. вложил новый патч.

>
>> еще есть вопрос, в каких условиях должен срабатывать код
>>
>>         if (clcf->keepalive_header) {
>>             len += sizeof("Keep-Alive: timeout=") - 1 + NGX_TIME_T_LEN + 2;
>>         }
>>
>>
>> в файле src/http/ngx_http_header_filter_module.c, не нашел, где
>> задается условие clcf->keepalive_header
>
> Указатель clcf - это ссылка на конфигурацию ngx_http_core_module,
> там и задётся.  Значение зависит от второго параметра директивы
> keepalive_timeout, см. http://nginx.org/r/keepalive_timeout/ru.

спасибо. не понял этот момент сразу.

>
> --
> Maxim Dounin
> http://nginx.org/en/donation.html
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

Attachment: keepalive.patch
Description: Binary data

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


 




Copyright © Lexa Software, 1996-2009.