How HTTP became the protocol beneath the Web

HTTP did not arrive as a finished architecture. It grew from a one-line document request into a version-independent semantic system carried by several transports. This source-led series explains why each transition happened, what it solved, and which constraints it left behind.

Read the six-part series

The parts are chronological, but each one also stands alone. Protocol examples use readable notation; the linked primary documents preserve the original technical and historical record.

  1. Part 1 · 1989–1993

    From a CERN information problem to HTTP/0.9

    HTTP began as the smallest practical interface between a universal document address and a remote hypertext document.

    18 minute deep dive
  2. Part 2 · 1992–1996

    HTTP/1.0: when the growing Web needed real messages

    HTTP/1.0 documented the message features implementations had added as the Web expanded beyond retrieving HTML documents.

    20 minute deep dive
  3. Part 3 · 1997–present

    HTTP/1.1: persistent connections and the architecture of scale

    HTTP/1.1 made connection reuse, virtual hosting, precise framing, richer caching, and intermediaries work at Web scale.

    24 minute deep dive
  4. Part 4 · 2009–present

    HTTP/2: multiplexing the same Web semantics

    HTTP/2 replaced ordered text exchanges with compressed, multiplexed streams while preserving HTTP methods, statuses, fields, and URLs.

    24 minute deep dive
  5. Part 5 · 2012–present

    QUIC and HTTP/3: changing the transport beneath HTTP

    HTTP/3 maps HTTP semantics onto QUIC, a secure UDP-based transport designed for independent streams and protocol evolution.

    26 minute deep dive
  6. Part 6 · 1991–present

    What HTTP's history teaches about protocol evolution

    HTTP evolves by preserving useful semantics, revising failed machinery, registering extensions, and learning from deployed behavior.

    22 minute deep dive