Out with the old, in with the new, as the saying goes -- but when it comes to an overhaul of one of the Internet's most fundamental protocols, what exactly is coming in with the new?
HTTP has done yeoman's work shouldering the explosive growth of Web traffic since it was first devised. But the truth is HTTP was conceived at a time when the amount of traffic one could expect to get to a given Web server was minimal and sparse. Over time, a real need has arisen to rethink how the Web itself is put together to serve everyone better.
Several changes have been proposed over the years to tune up the Web, one of which was a new version of the HTTP protocol. As of February 2015, we got exactly that. Version 2 of HTTP -- HTTP/2 -- was formally ratified and made into a standard after two-plus years of wrangling, feedback, discussion, and heated contention.
But what does HTTP/2 mean in practical, everyday terms for developers, IT folks, and admins? Here we take a look at the most promising payoffs of the new protocol and, more important, what kind of heavy lifting awaits ahead.
HTTP/2: The most promising payoffs
HTTP/2 aims to provide three distinct advantages over HTTP/1:
Here's a rundown of what each of these improvements means in practice.
New protocol, new possibilities. HTTP/2 enables functionality that simply wasn't possible with HTTP/1.1. Server push, for instance, allows content to be pre-emptively sent to a client without the need for a request -- say, sending a stylesheet along with a page, without having to place a reference to the stylesheet in the document.
The best way to deploy these functions is still being determined; server push, for instance, brings with it the risk of wasting network resources rather than saving them if not done properly.
Better protection against HTTP-based issues and exploits. Binary-based HTTP/2 will cut down on the problems that a text-based protocol, like HTTP/1, can introduce. One commonly cited benefit: The binary HTTP/2 protocol will protect against a variety of exploits that, although not too common, can be successfully launched against text-based HTTP/1.
More efficient HTTP connections, on both the client and server. With HTTP/2, only one TCP connection is opened per host; by contrast, HTTP/1 opens multiple TCP connections for parallelism in downloading resources for a page. This shift cuts down on traffic congestion, thereby reducing latency, a source of much of the slowness that plagues Web transfers across even the fastest network connections.
Unfortunately, this change alone won't speed up Web traffic -- a caveat that sets the tone for much of HTTP/2's improvements. Because so much of the Web is still built using presumptions of how HTTP/1.1 works, HTTP/2's approach to TCP connections can only do so much to improve latency on the Web. (More on this in the next section.)
Sign up for CIO Asia eNewsletters.