ПРОЕКТЫ 


  АРХИВ 


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: Keepalive



Igor Sysoev пишет:
On Mon, Apr 28, 2008 at 08:12:47PM +0800, Larry Gingras wrote:

David Mzareulyan пишет:
В HTTP 1.1 keep-alive включено по дефолту, если клиенту оно не нужно, он должен явно указывать Connection: close:

"HTTP/1.1 applications that do not support persistent connections MUST include the "close" connection option in every message".
Не заметил чтобы апач так себя вел. Специально протестил таким же "пустым" запросом (только GET и Host передал) и получил ответ БЕЗ хедера Connection и разрыв соединения сразу после передачи тела ответа.
Так что получается, апач нарушает стандарт?
(Передавал именно HTTP/1.1 в запросе)

nc httpd.apache.org 80
HEAD / HTTP/1.1
Host: httpd.apache.org

HTTP/1.1 200 OK
Date: Mon, 28 Apr 2008 12:18:27 GMT
Server: Apache/2.2.8 (Unix)
Last-Modified: Fri, 25 Apr 2008 03:52:32 GMT
ETag: "220f5c-21a3-44baa7ee06000"
Accept-Ranges: bytes
Content-Length: 8611
Vary: Accept-Encoding
Content-Type: text/html
X-Pad: avoid browser bug

HEAD / HTTP/1.1
Host: httpd.apache.org

HTTP/1.1 200 OK
Date: Mon, 28 Apr 2008 12:18:28 GMT
Server: Apache/2.2.8 (Unix)
Last-Modified: Fri, 25 Apr 2008 03:52:32 GMT
ETag: "220f5c-21a3-44baa7ee06000"
Accept-Ranges: bytes
Content-Length: 8611
Vary: Accept-Encoding
Content-Type: text/html
X-Pad: avoid browser bug

^C


Заметил интересную особенность, nginx по дефолту делает соединение
keep
alive. Т.е. если клиент (браузер) не передал хедер Connection то по
дефолту будет keep alive.
Можно ли как-то это изменить? Не нашел в доках соответствующей опции.


Действительно, соединение keep alive, хоть и молча (без хедера в ответе). Но однако таймаут совсем маленький, секунд 5.
Наверное имеет смысл сделать keepalive_timeout 5 (или около того)?
Просто дело в том, что программа посылает запросы к веб серверу и ждет разрыва соединения, в итоге после перехода на nginx она стала очень медленно отрабатывать. Но не хотелось бы ухудшить взаимодействие с чем-либо другим.



 




Copyright © Lexa Software, 1996-2009.