Compare

Side-by-side on the decisions that recur: TCP vs UDP, HTTP/2 vs HTTP/3, flow vs congestion control, L4 vs L7, forward vs reverse proxy, IPv4 vs IPv6 — with when to choose each.

HTTP/2HTTP/3
TransportOne TCP connection, TLS on topQUIC over UDP, with TLS 1.3 built into the transport
MultiplexingMany streams framed inside one TCP byte streamMany streams, each with its own loss recovery and ordering
Head-of-line blockingOne lost TCP segment stalls every stream behind itLoss on one stream does not stall other streams; ordering within a stream still waits for retransmission
Connection setupTCP handshake + TLS handshake: 2 RTT (1 RTT with TLS 1.3 + TFO, rarely deployed)1 RTT, 0-RTT on resumption
MobilityConnection dies when the client IP changes (Wi-Fi → LTE)Connection IDs survive address changes
MiddleboxesWorks anywhere TCP/443 worksNeeds UDP/443 open; some corporate networks block it, browsers fall back to HTTP/2
Server costKernel TCP stack, hardware offload, mature toolingUser-space stack: more CPU per byte, less offload, newer tooling
Choose this whenThe safe default: broad compatibility, kernel-optimised TCP, and networks where UDP may be filtered.Lossy or mobile links with many parallel small requests, where per-stream recovery and 0-RTT resumption pay for the user-space CPU.