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
|