Re: патч для Connection: Keep-Alive
Илья Шипицин
chipitsine at gmail.com
Tue May 14 12:15:05 UTC 2013
14 мая 2013 г., 17:41 пользователь Maxim Dounin <mdounin at mdounin.ru> написал:
> 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 at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
-------------- next part --------------
A non-text attachment was scrubbed...
Name: keepalive.patch
Type: application/octet-stream
Size: 3126 bytes
Desc: not available
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130514/a5fdad25/attachment.obj>
Подробная информация о списке рассылки nginx-ru