Web Protocols

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.