Apache Keep-Alive Support
Apache HTTP Server
Apache Keep-Alive Support
What is Keep-Alive?
The Keep-Alive extension to HTTP, as defined by the
HTTP/1.1 draft, allows persistent connections.
These long-lived HTTP sessions allow multiple requests to be
send over the same TCP connection, and in some cases have been
shown to result in an almost 50% speedup in latency times for
HTML documents with lots of images.
Enabling Keep-Alive Support
Apache 1.1 comes with Keep-Alive support on by default, however
there are some directives you can use to modify Apache's
behavior:
Note: Apache 1.2 uses a different syntax
for the KeepAlive
directive.
KeepAlive
Syntax: KeepAlive
max-requests
Default: KeepAlive
5
Context: server config
Status: Core
This directive enables Keep-Alive support. Set
max-requests to the maximum number of requests you
want Apache to entertain per connection. A limit is imposed to
prevent a client from hogging your server resources. Set this
to 0 to disable support.
KeepAliveTimeout
Syntax: KeepAliveTimeout
seconds
Default: KeepAliveTimeout
15
Context: server config
Status: Core
The number of seconds Apache will wait for a subsequent
request before closing the connection. Once a request has been
received, the timeout value specified by the Timeout directive
applies.
When Keep-Alive Is Used
In order for Keep-Alive support to be used, first the browser
must support it. Many current browsers, including Netscape
Navigator 2.0, and Spyglass Mosaic-based browsers (including
Microsoft Internet Explorer) do. Note, however, that some
Windows 95-based browsers misbehave with Keep-Alive-supporting
servers; they may occasionally hang on a connect. This has been
observed with several Windows browsers, and occurs when
connecting to any Keep-Alive server, not just Apache. Netscape
3.0b5 and later versions are known to work around this problem.
However, Keep-Alive support only is active with files where
the length is known beforehand. This means that most CGI
scripts, server-side included files and directory listings will
not use the Keep-Alive protocol. While this should be
completely transparent to the end user, it is something the
web-master may want to keep in mind.
Apache HTTP Server
|