HTTP protocol timeline

This page covers high level time line of evolution of HTTP in chronological order.

HTTP timeline

The Hypertext Transfer Protocol (HTTP) has been the internet backbone and widely adopted application protocols on the Internet. This page covers high level time line of different versions and features introduced in each version in chronological order.

HTTP/0.9

Tim Berners-Lee proposed initial HTTP protocol in 1991.

Features

  • Simple Client-server, request-response protocol.
  • ASCII protocol, running over a TCP/IP.
  • Designed to transfer hypertext documents (HTML).
  • The connection between server and client is closed after every request.

HTTP/1.0

HTTP/1.0 Version was introduced in 1996. Some of the key features introduced are given below.

Features

  • Request may consist of multiple newline separated header fields.
  • Response object is prefixed with a response status line.
  • Response object has its own set of newline separated header fields.
  • Response object is not limited to hypertext.
  • The connection between server and client is closed after every request.

Limitations

  • Multiple TCP connections causing TCP congestion

HTTP/1.1

The first official HTTP 1.1 standard released as part of RFC2616 in 1999. and introduced a number of critical performance optimizations:

Features

  • The HTTP 1.1 standard resolved a lot of the protocol ambiguities found in earlier versions.
  • Introduced performance optimizations such as keepalive connections, chunked encoding transfers, byte-range requests, additional caching mechanisms, transfer encodings, and request pipelining.

Limitations

  • Multiple TCP connections causing TCP congestion
  • No need for Hacks like Domain Sharding, Concatenation, data inlining and spiriting
  • Poor Resource Prioritization

HTTP/2

Introduced in 2015. The primary goal of HTTP/2 was to reduce latency by enabling full request and response multiplexing, minimize protocol overhead via efficient compression of HTTP header fields, and add support for request prioritization and server push.

  • Enables single TCP connection for each origin.
  • Enables stream prioritization.
  • Header compression using improved algorithms that improve performance as well as security.
  • The server can prioritize pushed resources – a key performance differentiator in HTTP/2 vs HTTP1.

As of 2016, Almost 70% of browsers support HTTP2. Most of Servers support HTTP2. 24% of firefox traffic is HTTP2

References


# Reference
1 https://tools.ietf.org/html/rfc2616
2 High performance browser Networking

Version History


Date Description
2016-08-24 Initial Version