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.
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.
- Your server must support HTTP/2 and all its features.
- The connection between the server and the browser must be encrypted through SSL so starting with HTTPS.
- 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.
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.
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.
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.
Rather than piling everything into one huge file we can now download several smaller files simultaneously.
It will save bandwidth and time in the process.
Splitting our files up like this also has other benefits.
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.