What is HTTP/2?

What is HTTP/2?

What is HTTP/2?

Whenever you click on a link to visit a site a request gets made to the server. The server answers with a status message (header) and a file list for that website. After viewing that list, the browser asks for the files one at a time. On the ‘old’ HTTP1.1 protocol, this process takes ages as there is only one line available that has to open and close after each file has been sent. HTTP/2 offers a dramatic speed boost as the line can be kept open and a lot of stuff can be sent at once. Meet HTTP/2!

Want to learn practical SEO skills to rank higher in Google? Our Basic SEO training is just what you need! »

Basic SEO training Info

HTTP/2 is a newish protocol that will drastically speed up the web. It uses new technologies to take away one of the biggest bottle necks of the web introducing full multiplexing connections. Servers can now open a single connection with a browser and keep sending all the files of a site until everything is done. After that the connection closes and the browser can render the site.

How does HTTP/2 work?

Let’s say you want a brand-new box of LEGO. First, you go to the store to get a specific box. When you get home, you open the box and see the instructions. The instructions say what you have to do: one brick at a time. Now, you can only get one brick at a time. You have to keep asking the instructions: “Which brick do I need now?” And the instructions will look and give you the right brick. This back-and-forth keeps happening until you have finished the entire LEGO set. Does the set have 3300 bricks? Well, that’ll take a while. This is HTTP1.1.

With HTTP/2 this changes. You go to the store to pick up your box. Open it, find the instructions and you can ask for all the bricks used on a part of the LEGO set. You can keep asking the instructions for more bricks, without having to look at the manual. “These bricks go together, so here they are.” If you want it really fast, you could even get all the bricks at once so you can build the set in an instant.

http1.1 vs http2

HTTP/2 can handle more things at once

HTTP/2 has a lot of cool features that can help speed up your loading times. The most important one, of course, is full multiplexing. This means that multiple requests can happen at the same time over a connection that stays open for the duration of the transfer process. Another cool thing is Server push; this starts as one request but when the server notices the HTML requires several assets, it can send these all at once without asking. This might be a good fit for your site, but that depends on factors too hard to explain here.

Like I said in the intro, with HTTP1.1 a browser requests a site -> server sends a header back -> that header contains a status message and HTML body -> for every file needed to build the site, a single connection has to be opened and closed and opened and closed. Whenever a piece of this puzzle acts up it can hold back the rest, slowing the process down even further. This is called head-of-line blocking and it sucks big time. This is one of the many reasons why HTTP1.1 can use an update.

Why HTTP/2 for SEO? Because site speed is important

We need speed. Site speed has been an SEO ranking factor for years. Now, with the introduction of the mobile-first index Google will take a critical look at the loading speed of your mobile site. Over the past few years, sites have only gotten bigger. Big sites have loads of assets like HTML, JavaScript, CSS, images et cetera and that equals longer loading time.

Another big issues is latency — especially on mobile devices. The longer your latency is, the longer it takes for your request to reach the server and for the server to send back the response. That’s why you should always use a CDN to reduce the time it will take to get your stuff to your readers from a nearby location. While browsers can handle a small amount of multiple connections, which in itself, adds additional time to the whole ordeal, the process of sending stuff back and forth doesn’t really change.

There are some things you can do to improve site speed by fine-tuning how your server handles these things, but at its core, HTTP1.1 isn’t a very efficient process. HTTP/2 makes this process a lot easier to manage for servers and browsers, therefore, drastically speeding things up. Keep in mind that the advent of HTTP/2 does not retire HTTP1.1 as browsers will still use the old protocol as fallback.

Implementing HTTP/2

Implementing HTTP/2 is fairly easy and it could be that your server is already using HTTP/2. You can use the HTTP2.Pro site to see if your server uses HTTP/2. Check with your hosting provider what your options are. You can also choose a Content Delivery Network, also known as a CDN, that offers a full HTTP/2 solution. If you want to implement HTTP/2, you need a HTTPS connection as well. If you haven’t got one, please get an SSL certificate at Let’s Encrypt, for instance, secure your connection and make it possible to upgrade to HTTP/2.

Read more: Performance optimization in an HTTP/2 world »

30 Responses to What is HTTP/2?

  1. Noor
    Noor  • 3 months ago

    Thank you for sharing this article. What should I do if my host doesn’t support HTTP/2?

  2. Waqas Tariq
    Waqas Tariq  • 3 months ago

    It’s not as easy as a flip of a button. Ubuntu is on more than 50% of the cloud servers. Ubuntu does not include support for Https/2 as it is considered an experimental feature by the Apache httpd upstream project.

    What this means is that you will need to download non stable apache and try enabling and fixing the issues that arise from it. I tried this on a test server and it was a complete mess for me, the old website-ssl.conf files failed the hardcoded redirects stopped working the apache server crashed and I gave up after 2 hours of trying to fix it.

    You should really include information like this when posting the article. Most of the web servers run Ubuntu and Ubuntu does not include http/2 for the reason mentioned above.

  3. Johan
    Johan  • 3 months ago

    “HTTP/2 offers a quick performance win and it even lets you secure your site, because it uses HTTPS connections by default.” Ehm… no, not really. HTTP/2 doesn’t secure the site, HTTPS does and you need to make sure the sites on your server are using HTTPS before moving over to HTTP/2…

    • Edwin Toonen

      Hmm, that was a bit unclear indeed. I’ll fix it. Thanks, Johan!

  4. Steven
    Steven  • 3 months ago

    Excellent heads up there Edwin. Love how new tech seems to be delivering faster & faster solutions to us all. Next call is straight to my Hosts, requesting http/2 implementation. Cheers.

    • Edwin Toonen

      Glad to be of help, Steven!

  5. Abhishek Verma
    Abhishek Verma  • 3 months ago

    Hey Edwin,
    If my Hosting Provider doesn’t provide HTTP/2, then What I need to do to get it.
    Please tell me.

    • Edwin Toonen

      Hi Abhishek. Consider moving hosts! This is an important technical change for hosting companies as well. Forward-thinking companies have gotten on board long ago. If you’re hoster is still lagging behind, maybe it’s time to try your luck elsewhere.

  6. Dr. Zakir Ali Rajnish
    Dr. Zakir Ali Rajnish  • 3 months ago

    Very useful article, thanks yoast.

    • Edwin Toonen

      Thanks, Zakir!

  7. Akash
    Akash  • 3 months ago

    Yes it very Important..
    Very nice share…

  8. Athar Malik
    Athar Malik  • 3 months ago

    Will be implementing this on my site articlesjar.com soon. Thanks for the suggestion.

  9. AndrewsaFoomy
    AndrewsaFoomy  • 3 months ago

    Я ваще такова не видел!!!это круто!!

  10. JonGeek
    JonGeek  • 3 months ago

    I wonder if this will be a ranking signal like https

    • Edwin Toonen

      Well, HTTP/2 in itself probably not as it is just a new protocol. But since it will give your site a nice speed boost and search engines have been going on about how important speed is, then yes. HTTPS is closely connected to HTTP/2 because without the former, the latter won’t work. So, upgrade both!

  11. Movies Adda
    Movies Adda  • 3 months ago

    It’s the best protocol to boost up the website speed… Thanks Edwin

  12. lynpadden
    lynpadden  • 3 months ago

    I think HTTP/2 will make a huge difference in 2018. Everyone has to have it to survive.

    • Edwin Toonen

      It is an important development to upgrade the web, that’s for certain.

  13. nexvan
    nexvan  • 3 months ago

    Yes, its time there was something to speed up the web.

    • MymenTech
      MymenTech  • 3 months ago

      Important topic. I am going to test to make sure it uses http/2

  14. Helen Cope
    Helen Cope  • 3 months ago

    Yes, its time there was something to speed up the web. Thanks for the great read.

  15. Radu Mihai Anghel
    Radu Mihai Anghel  • 3 months ago

    Awesome post. HTTP/2 will play a major roll in thw furure. Thanks!

  16. Gijs Hovens
    Gijs Hovens  • 3 months ago

    I agree that HTTP/2 is a very important development. An easy tool to check if you have HTTP/2 enabled is https://http2.pro/ (also check if you also have ALPN enabled, this is important).
    Regarding https: you cannot use HTTP/2 without encryption, so you need an SSL certificate. Luckily, most good WordPress webhosts (like us) offer free Let’s Encrypt certificates.

    • Edwin Toonen

      Hey Gijs. Great tip and you are correct about needing an SSL certificate. Another great reason to get your stuff in order.

    • Lifejourney4two
      Lifejourney4two  • 3 months ago

      Thanks – used this link to check that we are http2 enabled. We have NPN NOT ALPN – is this a problem and if so how do we solve this?

      • Edwin Toonen

        Hi! ALPN adds a further speed boost as it makes sure that HTTP1.1 is no longer needed to negotiate between the server and browser. You should check with your hosting company if you can resolve this.

    • EmRatThich
      EmRatThich  • 3 months ago

      Your website didn’t work :(
      I found another website can check HTTP/2. And my blog has http/2. :)

      • Naijapilot
        Naijapilot  • 3 months ago

        I just checked. “My website doesn’t support HTTP/2” .
        Thanks for the article though. I had a good read.
        Thank you Edwin.

        • AJ Clarke
          AJ Clarke  • 3 months ago

          You could always use a CDN such as CloudFlare (what we use on multiple domains) and it supports http/2 and you can even buy your https certificate from them, very easy to setup.

  17. Trinath Pattanayak
    Trinath Pattanayak  • 3 months ago

    Thank you for posting this article. I have to check this with my hosting provider.

Check out our must read articles about SEO basics