What is HTTP2
HTTP/2 is the protocol used by the World Wide Web. It’s the second major version of the HTTP network. HTTP/2 is being developed by the Hypertext Transfer Protocol working group of the Internet Engineering Task Force. HTTP/2 is considered by IESG and is published on Feb 17, 2015. It’s an HTTP-compatible protocol developed by Google and supported in Chrome, Opera, Firefox, Internet Explorer 11, Safari, and Amazon Silk browsers.
It’s originally named as HTTP/2.0. HTTP/2 is mainly based on SPDY (manipulates HTTP traffic, reduces web page load latency and improves the web security). There was never a competition between the two as SPDY is HTTP/2’s father, not its rival. After HTTP 1.1, HTTP/2 would be the first new version of HTTP.HTTP/2 transfers all the data as a binary format instead of HTTP’s.
NEED OF HTTP/2
HTTP 1.0 allowed only one request to be outstanding at a time on a given TCP connection.
HTTP 1.1 added request pipelining, but this only partially addressed request concurrency and still suffers from head-of-line blocking.Therefore, HTTP/1.0 and HTTP/1.1 clients that need to make many requests use multiple connections to a server in order to achieve concurrency and thereby reduce latency. Eventually, HTTP/2 will both significantly speed up our web pages and make them more secure. This new format is more compact, because the most compact a web page is, less time it takes to be transmitted.
The main focus of the protocol is on performance; specifically, end-user perceived latency, network and server resource usage. It’s one of the major goals is to allow single connection from browsers to a website. The http/2 connection is an application layer protocol running on top of a TCP connection. Drawbacks with the earlier versions of HTTP, only one data request can be handled at a time, even though every time you visit a website, you start from four to eight TCP/IP connections, and in HTTP/2, each website only gets one TCP/IP connection, but you can have multiple data requests being dealt with simultaneously. The exact number of parallel streams is determined by your web browser. The net result is a faster, cleaner data connection.
How it is different from HTTP 1.1
HTTP/2 only modified how the data is framed and transported between the client and the server and rest methods, status codes, header fields and URI’s all are the same. The changes made on HTTP/2 can be implemented on new applications and these changes do not require any changes to how existing web applications work.