HTTP/1.1
The workhorse of the web for two decades: persistent connections, chunked transfer, pipelining and the mandatory Host header that made virtual hosting possible.
What it is
HTTP/1.1 (now RFC 9112) made connections persistent by default (Connection: keep-alive), added chunked transfer encoding for streaming responses of unknown length, required the Host header so many sites can share one IP, and defined rich caching semantics (Cache-Control, ETag).
Head-of-line blocking
Even with keep-alive, HTTP/1.1 processes one response at a time per connection. A slow response blocks everything queued behind it, so browsers open 6+ parallel connections per origin as a workaround. This is the bottleneck HTTP/2 removes with multiplexing.
Why it matters
- It remains a universal fallback — every server and client speaks HTTP/1.1.
- Its per-connection head-of-line blocking is the performance ceiling that motivated HTTP/2 and HTTP/3.
Common mistakes
- Relying on HTTP/1.1 pipelining — it is poorly supported and disabled in most browsers.
- Opening excessive parallel connections instead of upgrading to a multiplexed protocol.
How WebInspect checks this
- WebInspect reports the negotiated version and whether the origin also offers HTTP/2 or HTTP/3 via ALPN and Alt-Svc.