The QUIC Protocol
Google's internal experiment to fix TCP's limitations became RFC 9000 — and now powers HTTP/3 and the future of secure transport.
Google's Experiment
Jim Roskind at Google designs QUIC (Quick UDP Internet Connections) as an experiment to reduce web latency. The core insight: TCP's head-of-line blocking and slow handshakes are fundamental limitations that can't be fixed without changing the protocol. QUIC runs over UDP to bypass OS-level TCP constraints and deploys via software updates to Chrome.
Deployed in Chrome
Google deploys QUIC in Chrome 29 for connections to Google services. Early production data is striking: a 30% reduction in YouTube rebuffer rate, a 3% reduction in mean page load time for Google Search, and significantly better performance on lossy mobile networks. QUIC's 0-RTT connection resumption proves especially valuable for repeat visitors.
IETF Standardization Begins
Google submits QUIC to the IETF for standardization. The IETF working group substantially redesigns the protocol: TLS 1.3 becomes a mandatory, deeply integrated component rather than an optional layer. The IETF version (iQUIC) is incompatible with Google's original gQUIC but addresses its security and interoperability concerns.
RFC 9000 — QUIC Becomes a Standard
On May 27, 2021, the IETF publishes RFC 9000, standardizing QUIC version 1. HTTP/3 (RFC 9114) is simultaneously standardized using QUIC as its transport. Within months, all major CDNs, browsers, and cloud platforms deploy QUIC globally. It becomes the foundation for the next generation of internet protocols.
Key Technical Properties
Multiple independent data streams in one connection. A lost packet only stalls its own stream — not the entire connection.
Encryption is mandatory and built into the handshake. There is no unencrypted QUIC. 1-RTT on first connection, 0-RTT on resumption.
Runs over UDP, bypassing TCP's kernel-level head-of-line blocking and enabling faster deployment of protocol updates.
Returning clients can send application data before the handshake completes, eliminating the latency cost of reconnects.
Connections are identified by a connection ID, not an IP/port tuple. Switching networks doesn't break the session.
Optional unreliable datagram delivery within a QUIC connection, enabling low-latency UDP-like use cases over the same secure channel.