Three Reasons For HTTP/2

Published on 2016-02-27

HTTP is the protocol that all of our browsers use to communicate with all webservers. The protocol now has a new version.

It's been a long process but now HTTP/2 is fanally here! It's worth reading the official website and the Wikipedia article - maybe the spec if you want to get into all the details.

The transition to a new protocol is naturally going to take a long time! Every client in the world needs to communicate using the new protocol, and every server needs to be upgraded as well. The point we are at now is sort of in the middle - most browsers support HTTP/2 and servers are moving along too - but since there is much content out there that is only accessible through HTTP/1.1 and browsers that doesn't support HTTP/2 dual implementations exist and protocol version negotiation happens every time a browser connects to a server.

To speed the transition process up a bit I have compiled three reasons for you as a content provider (ie. you have a webserver that is somewhat publicly available) to switch to a setup serving content via HTTP/2.

Reason 1: Technically speaking

On the technical side of the argument there is some advantages to HTTP/2. In HTTP/2 TLS is required. This might seem like a little difference - but knowing up front that all traffic is encrypted - at all times - removes some pain points.

There are protocol enhancements in place to releave stress from the server. Working with HTTP/2 can minimize connections made between the clients and your server and overall traffic going back and forth. The protocol establish a single TCP connection that is persistent and used to send requests and responses back and forth. compared to the previous protocols where multiple connections was made by each client this is a great improvement in network utilization and server stress. Creating and destroying TCP connections takes a long time and costs a lot of system resources - even the amount of open TCP connections on any given system has a hard maximum.

HTTP/2 even support pushing gontent from the server to the client that havent been requested yet. This could spawn a new class of smart servers with brilliant caching that utilize this protocol feature to automatically (automagically) serve the needed concent to the right clients before it is needed.

Reason 2: The user experience

All the technical reasons mentioned above is an immidiate advantage to the users (the people controlling the browser connecting to your server). They generally want content a bit faster that now and every bit of waiting will try their patience.

From the technical side you can serve content faster and with much less latency to all the users - they should see content appear faster than ever! Check out this practical example demonstrating loading the same content over both HTTP/2 and HTTP/1.1 - your users will love it!

Having an encrypted connection at all times is becoming a bigger and bigger factor for users as well. It is starting with the most technically savy but I suspect that it will trickle down eventually - in any case using HTTP/2 will leave you not even prepared but fully transitioned to encrypted only.

Reason 3: The business side

Technical happiness + user satisfaction = business success.

There is no doubt that the impact of technical excellence like minimizing traffic requirements, faster connections etc. along with the improved user experience will benefit the business!

Depending on your area of work the immidiate benefit may vary. If you're running web applications the direct user experience is a factor - for e-commerce the benefits might be even larger as search engines increasingly favor fast load times, encryption eg..