What Is QUIC?

Run a Speed Test

QUIC is a transport protocol built on UDP with TLS 1.3 baked in — it cuts connection setup time and eliminates the packet loss penalty that plagued TCP.

Why QUIC Exists: TCP's Core Problem

TCP has served the internet remarkably well for decades, but it has a fundamental design limitation that becomes painful on modern, high-latency, and lossy networks: head-of-line blocking at the transport layer. When a TCP packet is lost, the receiver must buffer all subsequently received data and wait for the missing packet to be retransmitted before it can deliver anything to the application above. Every stream of data sharing that TCP connection is stalled — even data that has already arrived completely.

HTTP/2 solved head-of-line blocking at the HTTP layer by multiplexing many logical streams over one connection, but it could not solve TCP's transport-level blocking. On a mobile network with 2% packet loss, an HTTP/2 connection loses a packet roughly every 50 packets — stalling all streams dozens of times per second. In those conditions, HTTP/2 can actually perform worse than HTTP/1.1 with its multiple parallel TCP connections, since a single packet loss does not affect all connections simultaneously.

Google began experimenting with a new protocol called QUIC in 2012, deploying it internally and gradually to Chrome users connecting to Google services. The IETF standardized a revised version as RFC 9000 in May 2021. HTTP/3 — the latest version of the web's core protocol — is defined as HTTP running over QUIC.

What QUIC Changes

QUIC is built on UDP, which means it bypasses the kernel's TCP implementation entirely. This gave its designers freedom to implement transport semantics from scratch, fixing TCP's problems without being constrained by decades of backward compatibility.

Per-stream reliability: QUIC's reliability is scoped to individual streams. If a packet carrying stream 3's data is lost, only stream 3 waits for retransmission. Streams 1, 2, and 4 continue delivering data to the application without interruption. This directly eliminates TCP's head-of-line blocking problem.

Integrated TLS 1.3: Unlike TCP where TLS is a separate layer bolted on top, QUIC integrates TLS 1.3 directly into its handshake. The cryptographic negotiation happens in parallel with transport setup, not sequentially after it. QUIC also encrypts its own packet headers — an observer on the network sees far less metadata about a QUIC connection than a TCP+TLS connection.

Faster connection establishment: A new QUIC connection to a previously unvisited server requires 1-RTT (one round trip) before application data flows. A new TCP+TLS 1.3 connection requires 2 RTT in the common case. For returning visitors, QUIC supports 0-RTT session resumption — data can be sent in the very first packet with no round-trip wait.

Connection migration: TCP connections are identified by the 4-tuple of source IP, source port, destination IP, destination port. Change any of those and the connection breaks. QUIC connections are identified by a connection ID chosen by the endpoints. When your phone switches from Wi-Fi to cellular, the IP address changes — but QUIC can migrate the connection seamlessly using the same connection ID over the new path.

The QUIC Handshake: 0-RTT and 1-RTT

For a first connection to a server, QUIC performs a combined transport and TLS handshake in one round trip. The client sends its QUIC transport parameters and TLS ClientHello together in the first packet. The server responds with its transport parameters, TLS ServerHello, and certificate. The client verifies the certificate, derives session keys, and can send application data immediately in its next packet. Total cost: 1 RTT before data flows.

For a returning connection, QUIC supports 0-RTT resumption using a pre-shared session ticket from the previous connection. The client includes application data in the very first packet — there is no handshake wait at all. The server can process that data immediately. This comes with a caveat: 0-RTT data cannot be protected against replay attacks, so only safe, idempotent requests (like GET requests) should use it. POST requests that create or modify data should wait for 1-RTT handshake completion.

QUIC vs TCP Comparison

FeatureTCP + TLSQUIC
Transport baseTCP (kernel-managed)UDP (user-space implementation)
Handshake RTT (new connection)2 RTT (TCP + TLS 1.3)1 RTT
HOL blockingYes — affects all streams on the connectionNo — per-stream isolation
Connection migrationNo — tied to IP/port 4-tupleYes — connection ID survives IP changes
Built-in encryptionNo — TLS is a separate optional layerYes — TLS 1.3 is mandatory and integrated

Connection Migration: Why Your Phone Stays Connected

Connection migration is one of QUIC's most practically valuable features for mobile users. Every TCP connection is bound to a specific source IP address and port. When your phone moves between Wi-Fi and cellular — or between two different Wi-Fi access points — your IP address changes. Every TCP connection in progress immediately breaks. Your browser must re-establish connections, re-negotiate TLS, and re-send any pending requests. You may see brief interruptions or need to reload the page.

QUIC connections are instead identified by a 64-bit connection ID that is negotiated at the start and carried in every QUIC packet. When the underlying network path changes, the client simply starts sending QUIC packets from the new IP address and port, using the same connection ID. The server detects the path change and responds to the new address. The logical connection continues without interruption — no re-handshake, no data loss, no visible disruption to the application above.

This matters especially for long-lived connections: video calls, real-time collaborative editing, file uploads, and streaming. TCP would stall and recover. QUIC migrates transparently.

Frequently Asked Questions

What does QUIC stand for?

QUIC originally stood for Quick UDP Internet Connections — a name Google gave to their experimental protocol. When the IETF standardized it in RFC 9000 (2021), QUIC became the official name of the protocol, no longer treated as an acronym. The IETF version differs significantly from Google's original design.

Is QUIC secure?

Yes. QUIC has TLS 1.3 built directly into the protocol — encryption is mandatory and cannot be disabled. Unlike TCP where TLS is a separate optional layer, QUIC encrypts not just the payload but also most of its own transport headers. Network observers see far less metadata about QUIC connections than about TCP+TLS connections.

Does QUIC use TCP or UDP?

QUIC uses UDP as its underlying transport, sending QUIC packets as UDP datagrams. However, QUIC implements its own reliable delivery, congestion control, and flow control on top of UDP — providing TCP-like guarantees without TCP's head-of-line blocking behavior.

What is 0-RTT in QUIC?

0-RTT allows a client to send application data immediately in the first packet to a previously visited server, reusing cryptographic parameters from the prior session. This eliminates all connection setup latency for repeat visits. The trade-off is that 0-RTT data is vulnerable to replay attacks and should only be used for idempotent requests like GET.

Does QUIC replace TCP?

QUIC replaces TCP for applications that choose to use it, but TCP remains in wide use and will for the foreseeable future. HTTP/3 uses QUIC instead of TCP, and other protocols are beginning to adopt it. However, many applications, operating systems, and network devices are deeply integrated with TCP, and a universal replacement is not a near-term prospect.

How does QUIC handle packet loss differently than TCP?

TCP's reliable delivery operates at the connection level — a lost packet stalls all data on that connection until retransmitted. QUIC's reliability is per-stream — a lost packet only stalls the specific stream that needed that data. Other streams continue delivering to the application independently. On networks with 1–5% packet loss, this difference is significant: HTTP/3 on QUIC degrades far more gracefully than HTTP/2 on TCP.

Related Guides

More From This Section