Skip to content
AdminKit

HTTP/3

HTTP/3, defined in RFC 9114, is the third major version of HTTP, and the first to run over QUIC instead of TCP. Earlier versions map HTTP semantics -- methods, headers, status codes -- onto a TCP connection; HTTP/2 multiplexes many requests over one TCP connection, but TCP's own in-order delivery means a single lost packet stalls every multiplexed stream until it is retransmitted, even requests that packet had nothing to do with. HTTP/3 keeps HTTP/2's multiplexing model but delegates it to QUIC, which recovers loss independently per stream, so one dropped packet only delays the stream it belonged to rather than every request sharing the connection. A server and client negotiate HTTP/3 the same way they negotiate h2 versus http/1.1: through ALPN inside the TLS handshake QUIC already performs, using the protocol ID "h3". A server already serving a client over HTTP/1.1 or HTTP/2 can also advertise HTTP/3 support using the Alt-Svc response header, letting that client upgrade to QUIC on a later request instead of requiring it on the very first connection.

By AdminKit team, Netbase JSC · Updated