In today’s web, consumers interact with websites on many different devices and connection types such as 3G, 4G and Wi-Fi. Consumers’ expectations for site performance continue to set the bar higher and no matter the device or network, waiting more than a few seconds for a page to load is unacceptable.
HTTP/2 (h2) aims to improve this experience.
What is HTTP/2?
HTTP/2 is the newest version of HTTP, a network protocol that stands for Hypertext Transfer Protocol. HTTP is one of the foundations of data communication on the web and has been in use for more than 20 years. So, whether you realize it or not, each time you open your browser and view a web page, you are using it in the background.
Users have been using version 1.1 (also known as HTTP/1.1 or h1) since 1999 and a lot has changed in how we build and architect a web page, making websites much more image-heavy and complex. HTTP/2 was designed to address some of the limitations web developers have been attempting to work around in the version HTTP/1.1.
Let’s look at a few of these new features and how they can improve the customer experience.
A binary framing makes it more efficient to exchange data between computers than using human-readable text—think web browser to server communications.
Another feature of h2 is the ability to compress HTTP headers to reduce the payload sent by the browser. All of this means improved performance for your end users, especially those on congested or slower connections like mobile devices.
Dependencies and Priorities
A client and a server communicating over h2 exchange more information than over h1, which allows the client to tell the server which elements are more important so they can be prioritized by the server.
In the HTTP/1.1, when there were many different items to load on a website, the requests for these items had to wait on a response from the server before it could request the next item. This created delays in page loading, often causing a poor customer experience. Web developers utilized the work-around sharding, a technique used to increase the amount of simultaneously downloaded resources for a website by using multiple domains, or putting things on multiple domains to get around this limitation. But you still ended up with the browser and server waiting on these parallel requests and it limited the number of items a browser could request simultaneously. The sequential nature of HTTP/1.1 often caused an artifact called Single Point of Failure (SPOF) where the whole Web page wouldn’t load because of a single element in the page failed to load. The multiplexing ability of h2 helps avoiding SPOFs.
In this visual example, you can see on your own browser h2 multiplexing at work. This means page elements will be delivered quicker, improving the overall customer experience.
Below is another example comparing the performance of h2 with and without Server Push enabled.
What do you need to do to enable h2?
Almost all modern browsers have supported HTTP/2 for the last couple of years (see http://caniuse.com/#feat=http2), but only over SSL connections (the URL will start with https://). This means that your entire site must utilize transport layer security (TLS) and the certificate must use secure ciphers in order to utilize h2. If you haven’t already moved your site to full site TLS, you should consider that. The first reason is to support h2 and the second is for SEO optimization. Google proclaimed full site security is a best practice and has listed HTTPS as one of its ranking factors for SEO.
If you are utilizing a content delivery network, you should be able to enable h2 by simply clicking a check box in your management interface. If you’re not currently utilizing a content delivery network to increase your sites performance and scalability, you should be. However, if you want to configure this without a CDN, here are the links on how to configure this at your origin for those who are using Apache or Microsoft IIS.
Consumers are not willing to wait on slow page load times and will quickly bounce back to Google and inevitably your competitors. Enabling h2 should be simple for most websites and gives you several performance optimizations immediately as well as the ability to automatically benefit from future performance innovations. So now is a great time to benefit from enabling h2.
Akamai Technologies provides content delivery network services to 339 of the Top 1000, Internet Retailer’s ranking of the leading online retailers in North America.