Apache HTTP Server

  • el
  • pt
  • 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.


    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.


    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