HTTP Versions

7
0

Evolution of HTTP Versions

HTTP has changed a lot over time. Each version tried to solve the limitations of the previous one while preserving the basic semantics of requests, responses, methods, and status codes.

Version

Key Characteristics

Main Limitation or Improvement

HTTP/0.9

Very simple, only GET, no headers, only HTML response

Too limited for growing web needs

HTTP/1.0

Added versioning, headers, more methods, better response metadata

Typically used a new TCP connection for each request

HTTP/1.1

Persistent connections, better caching, Host header, chunked transfer, improved efficiency

Still text-based and affected by head-of-line issues at the application level

HTTP/2

Binary framing, multiplexing, header compression, better performance over one connection

Still runs over TCP, so TCP-level head-of-line blocking remains

HTTP/3

Runs over QUIC on UDP, faster connection setup, better multiplexed transport behavior

Newer deployment model and different transport layer behavior

HTTP/0.9 to HTTP/1.1

The earliest HTTP version, HTTP/0.9, was extremely small. It supported only GET and had no headers. It was enough for early document retrieval, but not enough for the modern web.

HTTP/1.0 introduced more structure. It added headers, status handling, and broader support for content types. But it often opened a separate TCP connection for each resource, which was inefficient when pages needed many files.

HTTP/1.1 became the long-standing foundation of the web. It introduced persistent connections, better caching behavior, chunked transfer encoding, and the required Host header, which helped virtual hosting and made web infrastructure far more practical.

HTTP/2 and Multiplexing

HTTP/2 focused strongly on performance. Instead of plain text message framing, it introduced binary framing and multiplexing.

That means multiple requests and responses can share one connection more efficiently. HTTP/2 also reduced header overhead and improved page loading performance for websites with many assets.

Its main advantages include:

  • Binary protocol format: More efficient parsing than plain text framing

  • Multiplexing: Multiple streams over a single connection

  • Header compression: Reduces repeated header overhead

  • Better connection use: Less need for multiple parallel connections

Even with these improvements, HTTP/2 still relies on TCP underneath.

HTTP/2

HTTP/2

CS Core

Read Similar Blogs

Comments0