Scrapeless Wiki

What Is QUIC? – Definition and How It Works

Informational P3 what is quic

Learn what QUIC is, how it removes head-of-line blocking, and why it changes fingerprinting and debugging for HTTP clients.

QUIC is a transport protocol built on UDP that provides the reliability, ordering, and encryption TCP plus TLS provide, with multiplexing built in. It is the transport for HTTP/3.

1. What It Changes

TCP + TLS 1.3 QUIC
Underlying protocol TCP UDP
Handshake round trips 2 (1 with resumption) 1 (0 with resumption)
Encryption A layer above transport Integrated
Multiplexing In HTTP/2, above TCP In the transport
Head-of-line blocking At the TCP level Eliminated per stream
Connection identity IP and port tuple A connection ID
Network change survival Connection drops Connection migrates

2. Head-of-Line Blocking, Properly Removed

HTTP/2 multiplexes many streams over one TCP connection. TCP guarantees in-order delivery of the whole byte stream, so a single lost packet stalls every stream until it is retransmitted.

QUIC tracks streams independently in the transport, so a loss affecting one stream does not block the others. This is the substantive improvement over HTTP/2, and it matters most on lossy networks β€” mobile, congested links β€” where HTTP/2's single connection was a liability.

3. Connection Migration

A QUIC connection is identified by a connection ID rather than by the IP and port tuple. Change networks β€” leave Wi-Fi for cellular β€” and the connection continues, because the identity travels with it.

For a client behind a rotating proxy, this has a direct implication: the transport itself is designed to keep a connection stable across an address change, which is the opposite of what per-request address rotation assumes.

4. Discovery

A server advertises HTTP/3 availability so clients can upgrade on a later connection:

Alt-Svc: h3=":443"; ma=2592000

Some deployments also use DNS HTTPS records. The upgrade is opportunistic: the first connection is typically HTTP/2 over TCP, with HTTP/3 used afterwards.

5. Practical Client Notes

curl --http3 -sSI https://example.com | head -1

Support varies. Most language HTTP libraries do not speak HTTP/3 by default, requiring a specific client or build. Browsers do, universally.

The consequence for automation: a plain HTTP client typically negotiates HTTP/2 where a browser would have used HTTP/3, which is an observable difference.

6. Fingerprinting Implications

QUIC has its own fingerprintable surface, analogous to TLS fingerprinting but distinct: transport parameters, their ordering, version negotiation, and the client's initial packet structure.

A client claiming to be a current browser while connecting over TCP β€” when that browser would have used HTTP/3 β€” presents an inconsistency. Where a QUIC connection is made, its parameter fingerprint must match the claimed browser too, which is a harder target than TLS alone.

7. Operational Consequences

Blocked UDP. Networks that block UDP/443 force a TCP fallback. Well-behaved clients fall back quickly; badly behaved ones stall first.

Middlebox opacity. QUIC encrypts nearly everything, including most transport metadata, so intermediaries can see far less. That is a privacy improvement and a debugging cost.

Packet capture. Traditional TCP-oriented tooling shows little. Analysing QUIC requires keylog-based decryption and tools that understand it.

Server-side rate limiting. Connection-based limits behave differently when one long-lived migrating connection replaces many short ones.

8. Summary

QUIC is a UDP-based transport with integrated encryption, faster handshakes, per-stream loss recovery that removes TCP's head-of-line blocking, and connection IDs that let a connection survive a network change.

For HTTP clients it means opportunistic HTTP/3 upgrades via Alt-Svc, patchy library support, a new fingerprintable surface that must stay consistent with the browser being claimed, and far less visibility for packet-level debugging.