HTTP Keep-Alive

Problem

A webpage needs 50 resources.
If every HTTP request requires a completely new TCP connection:
connect → request → close
connect → request → close
connect → request → close
connection setup becomes expensive.

Solution — Persistent Connections

HTTP keep-alive means keeping a connection open after a response so later requests can reuse it, including after a pause. For HTTPS, the TLS handshake establishes that connection; subsequent requests reuse it without another handshake. The client, server, or an intermediary can close it, for example after an idle timeout. Idle timeouts are usually measured in seconds: a 60-second timeout allows closure after 60 seconds without activity; new activity normally restarts the timer.
connect
  ↓
request
request
request
request
  ↓
close
Core idea: persistent HTTP connections amortize connection setup across multiple requests.