HTTP/2 vs HTTP/3 on a lossy link
HTTP/2 runs on TCP, so one lost packet stops every stream on the connection. HTTP/3 runs on QUIC, so a lost packet stops only its own stream. On a 90 ms path with 2 percent loss, HTTP/2 fails 91 percent of requests. HTTP/3 keeps p99 at 182 ms.
HTTP/1.1 · connections: 6 · 30 files in 7 round trips, 630 ms
Calls per page: 20 · 18% of pages wait 2.0 s
Case 1
The path has a 90 ms round trip and loses 2 percent of packets. It carries 100 assets/s of 20 KB each. p99 must stay below 320 ms and errors below 1 percent.
| Measure | Goal | HTTP/2 over one TCP connection | HTTP/3 over one QUIC connection |
|---|---|---|---|
| p99 latency | under 320 ms | 10.1 s Fail | 182 ms Pass |
| Error rate | under 1% | 91.2% Fail | 0% Pass |
| Monthly cost | 4 USD/mo | 4 USD/mo |
Case 2
The same path with no packet loss. Both protocols give p99 92 ms, so the choice does not matter here.
| Measure | Goal | HTTP/2 over one TCP connection | HTTP/3 over one QUIC connection |
|---|---|---|---|
| p99 latency | under 320 ms | 92 ms Pass | 92 ms Pass |
| Error rate | under 1% | 0% Pass | 0% Pass |
| Monthly cost | 4 USD/mo | 4 USD/mo |