Welcome! Log In Create A New Profile

Advanced

патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин
December 09, 2013 10:14PM
Добрый день!

как-то уже писал на эту тему. дошли руки, выкатил патч в продакшен.
идея в том, что отправка заголовка "Connection: keep-alive" в
большинстве случаев не нужна.

абонентская база - сотни тысяч пользователей, сотни миллионов запросов
в месяц. думаю, спустя месяц-два можно будет считать, что все
протестировано во всех возможных ситуациях.


желающие - приглашаются к тестированию.

данное поведение "подсмотрено" у IIS, который по любым метрикам
занимает десятки процентов "рынка":
http://news.netcraft.com/archives/2013/12/06/december-2013-web-server-survey.html
- поэтому есть уверенность, что все обойдется без побочных эффектов


diff --git a/src/http/ngx_http_header_filter_module.c
b/src/http/ngx_http_header_filter_module.c
index 707a813..759186f 100644
--- a/src/http/ngx_http_header_filter_module.c
+++ b/src/http/ngx_http_header_filter_module.c
@@ -383,7 +383,10 @@ ngx_http_header_filter(ngx_http_request_t *r)
len += sizeof("Connection: upgrade" CRLF) - 1;

} else if (r->keepalive) {
+
+ if ((r->http_version == NGX_HTTP_VERSION_10) || (clcf->keepalive_header)) {
len += sizeof("Connection: keep-alive" CRLF) - 1;
+ }

/*
* MSIE and Opera ignore the "Keep-Alive: timeout=<N>" header.
@@ -556,8 +559,10 @@ ngx_http_header_filter(ngx_http_request_t *r)
sizeof("Connection: upgrade" CRLF) - 1);

} else if (r->keepalive) {
- b->last = ngx_cpymem(b->last, "Connection: keep-alive" CRLF,
+ if ((r->http_version == NGX_HTTP_VERSION_10) ||
(clcf->keepalive_header)) {
+ b->last = ngx_cpymem(b->last, "Connection: keep-alive" CRLF,
sizeof("Connection: keep-alive" CRLF) - 1);
+ }

if (clcf->keepalive_header) {
b->last = ngx_sprintf(b->last, "Keep-Alive: timeout=%T" CRLF,
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин December 09, 2013 10:14PM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Maxim Dounin December 11, 2013 12:22AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин December 11, 2013 12:22AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Maxim Dounin December 11, 2013 12:22AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин December 11, 2013 12:30AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Maxim Dounin December 11, 2013 12:40AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин December 11, 2013 12:40AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Maxim Dounin December 11, 2013 09:44AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин December 11, 2013 11:42AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Maxim Dounin December 11, 2013 01:06PM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин December 11, 2013 01:22PM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Ruslan Ermilov December 14, 2013 01:00PM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин December 18, 2016 12:34PM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

ru@nginx.com December 19, 2016 07:28AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин December 19, 2016 07:44AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

S.A.N December 19, 2016 09:03AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Maxim Dounin December 19, 2016 11:30AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин January 18, 2017 12:00AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

ru@nginx.com January 19, 2017 03:10AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин January 19, 2017 03:42AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин January 19, 2017 04:18AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Maxim Dounin December 11, 2013 12:34AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин December 11, 2013 12:40AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Алексей Сундуков December 18, 2013 07:50AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин December 18, 2013 07:54AM

Re: патч для отключения заголовков "Connection: keep-alive" (еще раз)

Илья Шипицин December 18, 2013 08:00AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 305
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready