HTTP/2 is one of the most important milestones introduced in the modern web. This article focuses on the current state of HTTP and introduces the core advantages (and some non-technical concepts) of HTTP/2. We will also learn how to implement HTTP/2 for WordPress in 2018.

A brief history of HTTP

HTTP stands for Hypertext Transfer Protocol and was created by Tim Berners Lee in 1991. Tim is someone we must thank the World Wide Web. HTTP is the most common and widely adopted one Application protocol Online. But it is not unique.

Hold on for a second.I have highlighted this sentence Application protocol. why is that? You see, the Internet is actually composed of four protocol layers.Each layer consists of many protocols and is responsible for one Core functions.

To understand a little bit, there are four layers in the Internet Protocol (IP) suite:

  1. Application layer
  2. Transport layer
  3. Internet layer
  4. Link layer
Internet Application Layer Protocol

Internet protocol layer. source: Wikipedia

Without going into too much detail, the last three layers (that is, the transport layer, the Internet layer, and the link layer) are responsible for establishing a reliable connection for the data to be exchanged.

The top layer is called Application layer, Serving all application On the internet.

  • Viewing web pages is an application on the Internet-it is implemented through the HTTP protocol.
  • E-mail is another application on the Internet-implemented by the POP or IMAP protocol.

Have Application layer multiple protocols Make YouTube live videos on the Internet and racial conflict possible.

The birth of HTTP/2

HTTP/2 for getting started with WordPress

HTTP is a common language between client and server, supporting modern networks. From its initial simplicity as a single keyword and document path, it has not only become the preferred protocol for browsers, but has also become the preferred protocol for almost all software and hardware applications connected to the Internet.

This begs a question- How often do we update this important software? Well, it turns out-not often

In fact, the last time the HTTP protocol was updated was in 1997-ten years before the launch of the first iPhone! That was the HTTP 1.1 version, and 20 years later, it is still the most widely used HTTP version today!

Everything that happens on the Internet-from streaming cat videos to real-time video chats and trillions of online transactions provided by the International Space Station-all happen to technologies that haven’t been updated in the past. Twenty years. Over the years, we have made tremendous progress in creating new applications for the Internet.However, we created Workaround Limitations from HTTP/1.1

I am not saying that HTTP/1.1 is all bad.But it can Be sure to use update. This is why in 2015 Internet Engineering Task Force Redouble efforts to create a better protocol for HTTP.

The result is a new protocol that works seamlessly with everything running on HTTP/1.1, while making some major improvements to the underlying technology. This new protocol is called HTTP/2.

What has changed in HTTP/2?

Actually many things. But we will not cover all of them here. I’m pretty sure you will be bored by then, and even more sure I won’t be able to explain these things in a non-geek way. But when it comes to HTTP/2 for WordPress, here are a few key points.

Reuse

In HTTP/1.1, the server and client need to establish separate connections to request resources. Let me explain with this beautiful illustration from UpWork:

HTTP/2 for WordPress: Multiplexing

Description of multiplexing Work upward

The website consists of HTML, CSS, JavaScript, images and other files. These files are collectively referred to as resources. In this example, there is a website composed of three resources-a JavaScript file, a CSS file, and an image file.

We see that in HTTP/1.1, the browser needs three TCP connections with the server to request these resources. Why? Because in HTTP/1.1, each connection can only request one request. A large number of connections usually leads to the best description of the resource as “traffic jam”-this will eventually lead to a slow website experience.

HTTP/2 supports multiplexing

Multiplexing is a technique that allows a server to send multiple files over a single connection. Therefore, when the same website uses HTTP/2, all three resources can be sent over a single connection. Therefore, loading time and network resource consumption will be significantly reduced. In short, you can get twice the result with half the effort. Therefore, HTTP/2 for WordPress is (possibly) a good way to speed up a WordPress website.

Domain sharding and other improvements

Remember how newer applications need “workarounds” to overcome some of the limitations of HTTP/1.1? Domain fragmentation is one such solution. Let’s see why domain sharding is needed.

Generally, HTTP/1.1 limits the maximum number of open connections between the server (domain) and the client. Most websites have multiple resources to load in parallel. In order to make the website load faster, the website began to provide resources from multiple subdomains. This is called domain fragmentation.

HTTP/2 for WordPress: Domain Sharding

UpWork’s domain fragmentation diagram

Now with HTTP/2, there is no need for domain sharing. Not because HTTP/2 does not limit the maximum number of open connections. But because HTTP/2 supports multiplexing. All resources can be sent directly in one connection!

Thanks to multiplexing in HTTP/2, many of these “workarounds” are no longer needed.These include CSS sprites, Use inline images in CSS Data URI, And the concatenation of CSS and JavaScript.Put it in Smash magazineif:

HTTP requests are cheap in the HTTP/2 world. It is much better to organize your assets according to the pages that will be used during the development process. Then you can provide only the code your visitors need. It is not important to download a large number of small style sheets. You can also organize according to how often things change; assets with a long life can be taken care of for a longer period of time.

Support binary protocol

We know that computers talk between 0 and 1, right? Well, this is not the way HTTP/1.x used to talk. HTTP1.x is used to process text commands to complete the request-response cycle.

HTTP/2 supports the conversion from text protocol to binary protocol. This enables the server and client to talk with 0s and 1s instead of actual text, which significantly reduces the time and effort required to complete the same request-response cycle.

HTTP/2 server push

This function may be a bit complicated to explain, but I will try to keep it simple. In the classic HTTP/1.1 scenario, only when the client requests resources, the server (or website) will send the resources to the client (browser). This is a typical request-response scenario.

However, HTTP/2 introduces the concept of server push, where for the first time the server can send resources (or information) to the client without the client explicitly requesting the resource. This mechanism saves request-response round trips and reduces network latency.

Web developers can build applications that utilize server push and send additional resources/information to the client through predictive requests. Final result? Faster and smoother applications.

Header compression

HTTP/2 uses something called HPACK header compression when exchanging data between the client and the server. Before we understand why this is important, it’s time to learn more about the agreement.

The data unit in any protocol (including HTTP) consists of three core components-header, payload, and footer.

  1. Header: Header contains information about the data unit
  2. Payload: This is the actual data transmitted from the server to the client
  3. Footer: This is a checklist to ensure that the data unit was successfully delivered without any errors.

The working principle of header compression is very simple-the server compresses the header information forward Transfer it to the customer. After receiving the data unit (or data packet), the client decompresses the header and displays (or uses) it to (or for) the user.

With today’s media-rich websites (such as Netflix or the New York Times) becoming the norm, HTTP/2’s HPACK header compression can save a lot of bandwidth when transferring data from the server to the client.

Improved TLS

TLS stands for Transport Layer Security, and it is a technology that encrypts the connection between a server and a client. We know that there is HTTPS. This technology helps prevent hackers from stealing our credit card information and other personal data during online transactions.

HTTP/2 works perfectly with the existing TLS technology and brings a lot of advanced features, such as fewer TLS handshakes, low resource consumption on the client and server side, and improved ability to reuse existing Web sessions, while eliminating the need for HTTP /1 Some related vulnerabilities. X.

Is the world ready for HTTP/2?

Well, it depends. Most modern browsers, including Chrome and Firefox, support the HTTP/2 protocol. If you have the resources to implement the HTTP/2 protocol-you should continue to do it.

HTTP/2 compatibility check between major web browsers.

CanIUse.com Provides the latest compatibility check for HTTP/2 between major web browsers

How to start using WordPress HTTP/2?

HTTP/2 for WordPress

Implementing HTTP/2 on your WordPress host requires a lot of technical knowledge. If you are a developer or a network and managing the server is your business-go for it.

The good news is that, thanks to an excellent WordPress hosting service provider, implementing HTTP/2 for WordPress has become easier. For example, WPEngine and Kinsta both support HTTP/2 and have all necessary fallbacks to ensure that site visitors who do not support the new protocol get a reliable and fully optimized HTTP/1.1 version experience.

From an Internet user’s point of view, you don’t need to do anything other than download the latest version of the browser. If the website is HTTP/2 compatible, your browser will automatically communicate with it using the new protocol. However, HTTP/2 is fully backward compatible, so websites that still use the old HTTP will not be affected. This means you can sit back and enjoy faster website loading speeds.

Summarizing HTTP/2 for WordPress

WordPress’ HTTP/2 is a much-needed revolutionary update to one of the most important technologies in the world.However, this will require a a lot of It’s time to make HTTP/2 mainstream-such as HTTPS websites. That being said, the purpose of this article is to introduce our readers to this wonderful technology, which may change the face of the World Wide Web.

Thoughts on HTTP/2 for WordPress? problem? Let us know in the comments section below!