HTTP — Versions, TLS & Connection Lifecycle
Studies in this cluster, in series order. Each one keeps its own URL.
Networking
TCP, TLS, load balancers, and why the p99 lives in the handshake.
- 1.HTTP — Versions, TLS & Connection LifecycleHTTP is a versioned application protocol on TCP or QUIC, almost always under TLS. This hub maps HTTP/1.1, HTTP/2, and HTTP/3, plus where TLS ends and how pools, timeouts, and retries fail.
- 2.HTTP/1.1 — Keep-Alive, Pipelining & Head-of-Line BlockingHTTP/1.1 made persistent connections the default so TCP and TLS are amortized. Pipelining failed in practice because responses stay in order, which is application head-of-line blocking.
- 3.HTTP/2 — Multiplexing, Streams, HPACK & Push TradeoffsHTTP/2 is a binary framed protocol. Many streams share one TCP and TLS connection, HPACK compresses headers, and server push is a dead end in browsers. TCP loss still stalls every stream.
- 4.HTTP/3 & QUIC — UDP, Migration, 0-RTT & HOL FixesHTTP/3 runs on QUIC over UDP, with TLS 1.3 inside the transport. Loss stays on one stream, a connection can survive an IP change, and 0-RTT early data can be replayed.
- 5.TLS — Handshake, Certs, mTLS & TerminationTLS gives HTTP confidentiality, integrity, and server authentication, plus client authentication when you ask for mTLS. Backend interviews are about handshake cost, certificate fields, and where the session ends.
- 6.Connections at Scale — Pooling, Timeouts, Retries & Failure ModesAt scale the HTTP version matters less than the pool, the deadlines, and the retry policy. Wrong defaults cause reset storms, double writes, and tail latency that no cipher suite will fix.