HTTP/2 and HTTP/3: Why Your Self-Hosted Apps Should Support Them
HTTP/2 and HTTP/3 make websites significantly faster. If your reverse proxy doesn't support them, you're leaving performance on the table.
Protocol Evolution
HTTP/1.1 (1997)
HTTP/2 (2015)
HTTP/3 (2022)
Performance Impact
HTTP/2 vs HTTP/1.1
HTTP/3 vs HTTP/2
Enabling HTTP/2 and HTTP/3
Caddy (Recommended)
Caddy enables HTTP/2 by default and HTTP/3 experimentally. No configuration needed. This is one of the many reasons TinyPod uses Caddy.
Nginx
HTTP/2:
listen 443 ssl http2;
HTTP/3 (requires nginx 1.25+):
listen 443 quic;
add_header Alt-Svc 'h3=":443"; ma=86400';
Cloudflare
HTTP/2: Enabled by default
HTTP/3: Toggle in Cloudflare dashboard
Do Your Apps Need to Support HTTP/2?
No. The reverse proxy handles protocol negotiation. Your app can speak HTTP/1.1 internally while the proxy serves HTTP/2 and HTTP/3 to clients.
Client ←→ (HTTP/3) ←→ Caddy ←→ (HTTP/1.1) ←→ Your App
Verifying
Check if your site supports HTTP/2 and HTTP/3:
The Bottom Line
Use Caddy as your reverse proxy and you get HTTP/2 and HTTP/3 automatically. Your users get faster page loads with zero configuration on your part.