Evolution of HTTP
Learn about different versions of HTTP, their features, and shortcomings.
We'll cover the following...
Introduction
HTTP is a widely used protocol, which directs the communication between clients and servers. This protocol was proposed and developed by Tim Berners-Lee in 1991. Over the years, this protocol has undergone many modifications that have made it feature-rich, flexible, and simple. In this lesson, we’ll compare different HTTP versions that enable us to choose a specific version for designing an API for a particular service. We discuss the following HTTP versions in the table below.
Version | Release Year |
HTTP/0.9 | 1991 |
HTTP/1.0 | 1996 |
HTTP/1.1 | 1997 |
HTTP/2.0 | 2015 |
HTTP/3.0 | 2019 |
HTTP/0.9
HTTP/0.9 was the initial version of HTTP. It was the simplest client-server and request-response protocol. This version of HTTP only had the support of the GET
request method, and similarly, the response would consist of hypertext only. This version had no support for HTTP headers; as a result, this version couldn't transfer other content-type
files. The connection would also terminate immediately after sending the response.
HTTP/1.0
HTTP/1.0 was a browser-friendly protocol that supported HTTP header fields—including rich metadata—for requests and responses. As a result, the response was not limited to just hypertext, but could transfer other types of files, such as scripts, stylesheets, and media. HTTP/1.0 brought a number of changes to its infant version of HTTP/0.9. The HTTP/0.9 version's specification was about a page long; however, the HEAD
, GET
, and POST
. Apart from the support of various HTTP methods, HTTP/1.0 used some ideas that we’re familiar with, for example, headers, response status codes, errors, redirection, conditional requests, and encoding.
The drawbacks of HTTP/1.0
In HTTP/1.0, the notable flaws highlighted below had to be addressed:
Non-persistent: An issue with HTTP/1.0 is its inability to keep the connection open between requests. ...