![]() |
|||||||||||||
|
HTTP persistent connection |
| HTTP |
| Persistence · Compression · SSL |
| Headers |
| ETag · Cookie · Referer |
| Status codes |
| 200 OK |
| 301 Moved permanently |
| 302 Found |
| 303 See Other |
| 403 Forbidden |
| 404 Not Found |
HTTP persistent connections, also called HTTP keep-alive, or HTTP connection reuse, is the idea of using the same TCP connection to send and receive multiple HTTP requests/responses, as opposed to opening a new connection for every single request/response pair.
According to RFC 2616 (page 47), a single-user client should not maintain more than 2 connections with any server or proxy. A proxy should use up to 2*N connections to another server or proxy, where N is the number of simultaneously active users. These guidelines are intended to improve HTTP response times and avoid congestion.
Netscape Navigator (since at least 4.05) and Internet Explorer (since at least 4.01) support persistent connections to Web servers and proxies.
Navigator doesn't close persistent connections using timeout. All idling persistent connections are queued. When there is a need to open new persistent connections while connecting to a different server, the idle connections are killed by the browser using some form of LRU algorithm.[1]
Internet Explorer opens typically 2 persistent connections to each server. Persistent connections time out after 60 seconds of inactivity.
Mozilla Firefox supports persistent connections. The number of simultaneous connections can be customized (per-server, per-proxy, total).
Opera supports persistent connections since 4.0[2]. The number of simultaneous connections can be customized (per-server, total).