HTTP/2

What Is HTTP/2

The HTTP/2 protocol was designed to solve many issues that the HTTP 1.1 protocol is with modern websites.

HTTP 1.1 introduced in 1997. At that time, web pages were at some HTML markup and perhaps an image or two.

Nowadays web pages can contain hundreds of resources with images, fonts, web style sheets etc.

HTTP 1.1 was not intended to handle such loads.

As a result, Web developers have come up with a bunch of different hacks to improve the load speed of pages.

These hacks try to reduce the number of HTTP requests sent to the server because setting an HTTP connection brings a lot of overhead.

And during that process for hundreds of resources slows down the rendering of the page. That causes user frustration and leads to high bounce rates.

Some of the common hacks include domain sharding, image sprites and concatenation and minification of JavaScript and CSS files.

HTTP/2

HTTP version 2 (HTTP/2) is the new protocol that takes over after HTTP 1.1. It started as an experiment at Google called SPDY.

SPDY was so successful thus it grew into the next official HTTP protocol.

As per global web browser usage statistics, over 76% web browser usage is now using HTTP/2. And web hosting companies like Host My Website Online are using HTTP/2 server-wide.

HTTP/2 is quickly becoming the standard protocol for web traffic.

Requirements for HTTP/2

There are three requirements need to be met to take advantage of HTTP/2 on your site.

  1. Your server must support HTTP/2 and all its features.
  2. The connection between the server and the browser must be encrypted through SSL so starting with HTTPS.
  3. The browser must support HTTP/2 which almost all modern browsers do.

If anyone of these three requirements fails, the connection will be an HTTP 1.1 connection instead.

Mandating Encryption

The second requirement that the connection must be encrypted is quite revolutionary in its own right.

Mandating encryption for performance will make people and companies who previously saw encryption as an unnecessary or complicated add-on to reconsider the encryption.

And as a result we will get a more secure and more performant web; It’s a win-win situation.

Add to this there are free SSL certificate services like open SSL and Let’s Encrypt. And you have no excuse to avoid that S on the end of your HTTP.

Host My Website Post Banner

HTTP/2 Solves the Problem in Various Ways

Back to performance, to ensure stability on the web HTTP/2 extends existing functionality in HTTP 1.1.

If a server or browser does not support HTTP/2 or you don’t have an SSL connection the site will fall back through the older protocol without anything breaking.

All this means at this moment is that we are in HTTP/2 world and a lot of what we know about performance is about to change.

SPDY and eventually HTTP/2 was explicitly introduced to deal with performance issues.

This also means many of the workarounds and patches we have created to deal with those performance issues are no longer necessary. And in some cases, they are becoming counterproductive.

HTTP/2 comes with a long list of performance enhancements some of which are automatic and some we can take advantage.

Multiplexing

HTTP/2 Multiplexing
HTTP/2 Multiplexing

HTTP/2 enables multiplexing which allows the client and server to process multiple requests over the same connection.

Multiplexing reduces the overhead of establishing many HTTP connections.

HTTP 1.1 allowed only one request to be processed at a time through a connection. HTTP/2 allows what’s known as multiplexing and does so in a dynamic way.

This means the browser can request and receive many different files at the same time and doesn’t have to wait for one file to finish before starting the download of the next one.

This, in turn, means concatenating CSS and JavaScript files and spriting image files to speed up downloads by reducing HTTP requests no longer makes any sense.

Rather than piling everything into one huge file we can now download several smaller files simultaneously.

This is both quicker and more efficient. Because instead of loading all the concatenated CSS and JavaScript files on one page, we can load only the CSS and JavaScript required for the current page.

It will save bandwidth and time in the process.

Splitting our files up like this also has other benefits.

The browser for a quick recall can independently cache each file. A small update to style rule or script doesn’t require a complete reload of all the styles or JavaScript.

Server Push and Compresses Headers

HTTP/2 compresses the HTTP headers. And HTTP/2 allows for server push which we can proactively push dependent files to the browser cache before it even knows it needs them.

You know at Host My Website Online, we use HTTP/2 by default thus we achieve the benefit of this technology. Want to try us, head over to our Home Page.

Leave a Comment

Your email address will not be published. Required fields are marked *