HTTP/3 & QUIC
Also Known As
QUIC
HTTP3
UDP HTTP
head-of-line blocking
TL;DR
HTTP/3 runs over QUIC (UDP-based) instead of TCP — eliminating head-of-line blocking, reducing connection setup time, and improving performance on lossy networks.
Explanation
HTTP/2 over TCP has head-of-line blocking: a single lost packet stalls all multiplexed streams. HTTP/3 uses QUIC (Quick UDP Internet Connections) — each stream is independent, a lost packet only affects that stream. QUIC also combines TLS handshake with the connection handshake (0-RTT or 1-RTT vs TCP+TLS 3-RTT), dramatically reducing connection setup time. PHP servers: Caddy and nginx (with QUIC patch) support HTTP/3. CDNs (Cloudflare, Fastly) front-end HTTP/3 transparently. Impact is most significant for mobile users on lossy networks.
Common Misconception
✗ HTTP/3 is just HTTP/2 over UDP — QUIC is a new transport protocol that reimplements TCP's reliability features plus TLS at the transport layer, offering fundamentally different performance characteristics.
Why It Matters
HTTP/2 on a 2% packet loss network performs worse than HTTP/1.1 due to head-of-line blocking — HTTP/3 maintains performance on the lossy mobile networks that account for a growing share of web traffic.
Common Mistakes
- Not serving Alt-Svc header — clients need to discover HTTP/3 support before upgrading.
- Assuming HTTP/3 is always faster — on good networks the difference is small; the benefit is on lossy mobile connections.
- Not testing HTTP/3 connectivity — use curl --http3 to verify it works end-to-end.
- Forgetting UDP firewall rules — QUIC uses UDP port 443 which may be blocked by corporate firewalls.
Code Examples
✗ Vulnerable
// nginx without HTTP/3 — missing performance on mobile:
server {
listen 443 ssl http2;
# No QUIC/HTTP3 support
# Mobile users on lossy networks get HTTP/2 head-of-line blocking
}
✓ Fixed
# nginx with HTTP/3 (nginx-quic build):
server {
listen 443 ssl http2;
listen 443 quic reuseport; # HTTP/3 on UDP
ssl_protocols TLSv1.3; # QUIC requires TLS 1.3
# Advertise HTTP/3 support:
add_header Alt-Svc 'h3=":443"; ma=86400';
# Or use Cloudflare/Fastly CDN:
# They handle HTTP/3 termination automatically
Tags
🤝 Adopt this term
£79/year · your link shown here
Added
16 Mar 2026
Edited
22 Mar 2026
Views
38
🤖 AI Guestbook educational data only
|
|
Last 30 days
Agents 0
No pings yet today
No pings yesterday
ChatGPT 9
Amazonbot 6
Perplexity 5
Google 3
Unknown AI 2
SEMrush 2
Majestic 1
Ahrefs 1
Also referenced
How they use it
crawler 28
crawler_json 1
Related categories
⚡
DEV INTEL
Tools & Severity
🔵 Info
⚙ Fix effort: Medium
⚡ Quick Fix
Enable HTTP/3 in Nginx 1.25+ with quic and http3 directives — it eliminates TCP head-of-line blocking and reduces connection establishment to 0-RTT for returning visitors
📦 Applies To
any
web
🔗 Prerequisites
🔍 Detection Hints
HTTP/2 in use but no HTTP/3 support; high latency on mobile networks where QUIC helps most
Auto-detectable:
✓ Yes
curl
chrome-devtools
cloudflare
⚠ Related Problems
🤖 AI Agent
Confidence: Low
False Positives: Medium
✗ Manual fix
Fix: High
Context: File