What is HTTP/3?
HTTP/3 is HTTP carried over QUIC, which runs on UDP and builds the TLS 1.3 handshake into the transport itself. It keeps HTTP semantics and HTTP/2-style multiplexing while removing TCP's head-of-line blocking, so a lost packet stalls only its own stream. Clients discover it from an Alt-Svc header or an HTTPS DNS record and negotiate it as h3.
A QUIC connection is identified by a connection ID rather than by an address and port pair, so a phone moving from Wi-Fi to a mobile network keeps the session instead of starting over. Transport setup and cryptographic setup happen together, which usually costs one round trip and none at all when a client resumes a session with 0-RTT. Header compression moves from HPACK to QPACK (RFC 9204), which adds ordering rules so that a lost packet cannot leave the two ends disagreeing about the shared table.
Classic proxies are the sticking point. HTTP CONNECT builds a TCP tunnel and nothing else, so HTTP/3 cannot travel through one, and while SOCKS5 could in principle carry it over UDP ASSOCIATE, few providers implement that command. In practice Chrome sends no QUIC at all through a configured proxy and falls back to HTTP/2 over TCP, which anyone can watch happen in devtools. Later work on CONNECT-UDP and MASQUE defines a proper way to proxy datagrams, with support still thin outside a handful of networks.
Firewalls in corporate networks and some carriers block or throttle UDP on port 443, and clients cope by racing a QUIC attempt against a TCP one and keeping whichever answers first. That fallback hides breakage well, so a site you assume is running h3 may have been on HTTP/2 for you the whole time. Middleboxes see far less than they used to, because QUIC encrypts most of its transport headers, which is part of why some operators would rather block it than pass it through.
For scraping and automation the answer stays simple. Most tooling ends up on HTTP/2 or HTTP/1.1, whether that is a curl build without HTTP/3 compiled in, a browser driven by Playwright behind a proxy, or an ordinary HTTP library, and origins keep serving those versions. No site can demand h3 yet, since too many legitimate clients cannot reach it. The angle worth watching is fingerprinting, because QUIC transport parameters vary between implementations much as TLS extensions do.
Where you meet it
You notice HTTP/3 mainly by its absence. Traffic through a proxy arrives as HTTP/2, devtools show h2 where a direct visit showed h3, and the timing difference on a lossy mobile link gets blamed on the proxy. That is expected rather than a fault. If you are measuring real user performance on mobile networks, benchmark the direct and proxied paths separately, since they are not running the same transport underneath.
Common questions
Can I use HTTP/3 through a proxy?
Rarely today. HTTP CONNECT tunnels carry TCP only, and SOCKS5 support for UDP relaying is uncommon among commercial providers, so browsers fall back to HTTP/2 when a proxy is configured. CONNECT-UDP and MASQUE were designed to fix this, and deployment is limited. For most work the fallback is harmless.
Is HTTP/3 the same as QUIC?
No. QUIC is the transport protocol, running over UDP with encryption and stream multiplexing built in. HTTP/3 is the mapping of HTTP onto QUIC, adding QPACK header compression and its own frame types. Other protocols can run over QUIC too, so the two names describe different layers.
Does blocking HTTP/3 break websites?
Almost never. Clients race a QUIC connection against a TCP one and use whichever succeeds, so blocked UDP on port 443 means pages load over HTTP/2 instead. You may lose some performance on lossy networks and on connections that change address mid-session, and the content itself is identical.
Related terms
Real 4G/5G mobile and residential IPs
PROXIES.SX runs carrier IPs in 100+ countries with HTTP and SOCKS5 on every endpoint. $4/GB down to $2.40/GB at volume, free endpoints and rotation, and your GB never expire.