Re: client side keep-alive (http-server-close vs httpclose)

From: Vincent Bernat <>
Date: Thu, 27 Oct 2011 00:15:56 +0200

OoO En cette nuit nuageuse du jeudi 27 octobre 2011, vers 00:02, Vivek Malik <> disait聽:

> We have been using haproxy in production for around 6 months while
> using httpclose. We use functions like reqidel, reqadd to manipulate
> request headers and use_backend to route a request to a specific
> backend.

> We run websites which often have ajax calls and load javascripts and
> css files from the server.聽Thinking about keep alive, I think it
> would be desired to keep client side keep alive so that they can
> reuse connections to load images, javascript, css and make ajax calls
> over it.

> From a haproxy request processing and manipulating perspective, Is
> there a difference between http-server-close and httpclose? Would
> reqadd/reqidel/use_backend work on subsequent requests during client
> side keep alive too?

Yes. From the documentation:


| By default HAProxy operates in a tunnel-like mode with regards to persistent
| connections: for each connection it processes the first request and forwards
| everything else (including additional requests) to selected server. Once
| established, the connection is persisted both on the client and server
| sides. Use "option http-server-close" to preserve client persistent connections
| while handling every incoming request individually, dispatching them one after
| another to servers, in HTTP close mode. Use "option httpclose" to switch both
| sides to HTTP close mode. "option forceclose" and "option
| http-pretend-keepalive" help working around servers misbehaving in HTTP close
| mode.

Vincent Bernat 鈽

Make sure input cannot violate the limits of the program.
            - The Elements of Programming Style (Kernighan & Plauger)
Received on 2011/10/27 00:15

This archive was generated by hypermail 2.2.0 : 2011/10/27 00:30 CEST