History:
HTTP – hypertext
transfer protocol. It’s an Application protocol to exchange hypertext or
hypermedia over World Wide Web. Hyper text\media means, a HTML page is nothing
but a text document contains links to other documents or media. So user can
open a web page and traverse to other pages and come back.
The term hypertext
was coined by Ted Nelson in 1965 for
his xanadu project.
But actual
credit goes to Tim Berners Lee and
his team at CERN. In 1989, He proposed a system to track tons information\data
created by LHC. Basically, Tim wanted to create a system to link documents and
access over network.
Evolution of HTTP:
HTTP/0.9
1989.
Simplest, it just had a single method GET, no headers. It supported just to
fetch text documents, no images.
HTTP/1.0
1995. By this
time http proven its potential. RFC 1945 introduced, headers, response codes, errors
…
HTTP/1.1
1996 to 2010
(approx.) 1.1 has six RFCs, addressing issues of message, cache, pipeline,
semantics …
SPDY
2009, google
proposed alternative to HTTP they called it SPDY. It contains features like
multiplexing, framing, header compression, etc.
HTTP/2
May 14, 2015.
SPDY was the driving force of HTTP/2. RFC 7540 made official of HTTP/2
Data compression
of headers, Multiplex, Pipelining of requests, Server push, Priority requests…
Why HTTP2?
To know
answer for question why http2, we have to understand evolution of http. It started
with simple GET, serving simple html/text pages to present serving a text file to ultra hd video over internet. When a user types and enter a url on
a browser, behind the scene a series of action will be performed before user
sees what they want. Briefly here is what happens: Resolve Hostname (DNS), Open
TCP connection, Handshake, Get Data …
In simple
word answer to above question is “Latency”.
How much time it takes to get data from server to client. Previous versions of
http were struggling to handle modern, high volume traffics. HTTP/2 will
address drawbacks of earlier versions. So HTTP/2 enhances existing http
features and speed up process to get by implementing clever techniques.
Most of the
modern browsers and web servers support http/2 features. Say thanks to google and
IETF.