Networking & Protocols
HTTP versions: measure HOL blocking and ship an HTTP/3 edge
Reading about head-of-line blocking is not the same as watching one lost packet stall fifty streams on your own wire. Stand up a single origin on all three HTTP versions, inject loss, measure the difference, and wire the observability a real HTTP/3 edge needs to catch a UDP-blocking incident before users do.
Turn the unit’s mental model into a reproducible experiment and a production-shaped edge: serve /1.1, /2, and /3 from one origin, measure layered HOL blocking under controlled loss, prove HTTP/3’s stream isolation, and instrument ALPN distribution and h3-fallback so you can diagnose a silent UDP block.
Serve one static-plus-API origin simultaneously over HTTP/1.1, HTTP/2, and HTTP/3, then measure how head-of-line blocking differs between versions under packet loss — proving each claim with numbers, not estimates — and ship the observability an HTTP/3 edge needs.
- A before/after table: page-load or batch-completion time for /1.1, /2, and /3 at 0%, 1%, and 2% loss — measured under identical load, showing HTTP/2 degrading fastest and HTTP/3 holding closest to its no-loss baseline.
- Protocol evidence that h3 was actually negotiated (curl/qlog) and a capture or log demonstrating TCP-layer HOL blocking on /2 versus per-stream loss recovery on /3.
- A live dashboard with ALPN distribution and h3-fallback rate by region/ASN, plus a working alert rule, demonstrated by simulating a UDP/443 block (drop UDP on the emulator) and watching the fallback metric and alert fire.
- A short write-up: which version you would serve to which clients and why, how you would diagnose a real overnight h3 collapse, and which caching/semantic fixes you applied.
- Add RFC 9218 priority hints (Priority: u=… on requests) and show render-blocking CSS arriving ahead of large images by reordering DATA-frame delivery; measure the page-load effect.
- Replace any HTTP/2 Server Push with 103 Early Hints plus link rel=preload and compare warm- and cold-cache load times to confirm the modern path wins.
- Add a WebSocket or WebTransport real-time channel: WebSocket over RFC 8441 on HTTP/2 versus WebTransport on HTTP/3, and compare behaviour under loss and a Wi-Fi-to-cellular handover (connection migration).
- Write a one-page on-call runbook: triage an h3-fallback spike from the dashboard, locate the blocking hop with a UDP traceroute, and decide whether to lower Alt-Svc max-age while the network team fixes the path.
This is the loop you will run on any real HTTP rollout: serve all three versions and let ALPN and Alt-Svc pick, measure layered HOL blocking under controlled loss instead of trusting the theory, prove HTTP/3’s per-stream isolation on your own wire, and instrument ALPN distribution plus h3-fallback by ASN so a silent UDP block is caught in minutes. Get the caching and status-code semantics right at the same time, and you have the edge an SRE actually trusts.