Networking
Beginner
What is HTTP Keep-Alive?
An HTTP mechanism that reuses a single TCP connection for multiple requests, reducing the overhead of establishing new connections.
HTTP Keep-Alive (persistent connections) allows multiple HTTP requests and responses to share a single TCP connection, eliminating the overhead of TCP handshakes and TLS negotiations for each request. In HTTP/1.1, connections are keep-alive by default (Connection: keep-alive header). Servers configure maximum requests per connection and idle timeout. Keep-alive significantly improves page load times for sites with many resources (images, CSS, JS files) — each resource does not require a new connection. HTTP/2 extends this further with multiplexing (multiple concurrent requests on one connection). Web servers like Nginx configure keepalive_timeout and keepalive_requests directives.