What is HTTP/3 and when is it coming?
HTTP protocols have been around for quite a number of years now. Their efficacy and efficiency has undoubtedly spawned a lot of interest and controversy over the last decade. However, they have been implemented globally due to logistical demand and out of necessity as well.
This was especially true during the pandemic, which forced a vast majority of companies and businesses to switch to an online environment, allowing them to continue to provide goods and services.
Not only that, but the overall situation made it clear that the Internet can be the virtual space where we can perform day-to-day physical activities. The pandemic also made it apparent that a reliable connection with sufficient speed is necessary to continue to work or study online.
The latest HTTP/3 protocol is now on its way to being released, allowing it to become globally adopted. But what is this new iteration of the protocol and when will it be released?
What is HTTP/3?
HTTP/3 is the latest HTTP protocol version. It enables faster, more secure and overall better, reliable connections between Web servers and browsers.
What makes this protocol version different from the rest, however, is that there have been improvements related to startup connections and concurrent data transfer of multiple files.
Consequently, this means that the process of loading a website whilst having a lossy connection is significantly improved, allowing for more stability and less waiting by decreasing the resources’ loading time. This makes HTTP/3 quite useful, allowing it to quickly become a standard over the incoming months.
Overall, the latest development in the protocol stack with the introduction of HTTP/3 and the QUIC protocol, both aim to improve the ways in which connections are established, while also introducing better security and reducing latency. This will result in significantly improved loading and downloading speed, especially when performance is substantially worse than usual such as when utilizing wireless connections or having insufficient connection signal.
HTTP protocol versions
HTTP is an application layer protocol, which sits on top of the network stack. As we mentioned in the previous section, it is essentially a set of rules that govern the delivery of content from Web servers to Web browsers.
Work on HTTP was initiated in CERN in 1989 by Tim Berners-Lee, who is considered to be the creator of the World Wide Web. HTTP has been the standard data transfer protocol on the WWW ever since its inception.
HTTP/1.1, the first notable version of the protocol, was documented back in 1997. The first major revision, HTTP/2, was introduced in 2015.
Currently, according to W3Techs, about 98% of Web browsers and 48% of the top 10 million websites worldwide support HTTP/2.
HTTP/3 (formerly known as HTTP over QUIC) is the next proposed major revision that builds upon the improvements and features of HTTP/2, while also aiming to maintain compatibility with the previous versions of the protocol.
Before we can proceed to exploring the HTTP/3 & QUIC protocol in more detail, we need to review its predecessor, which has paved the way for the innovative technology.
The main improvement that HTTP/2 introduced was multiplexing. This enables the simultaneous loading of resources over a single TCP connection. Additionally, it also compresses HTTP headers, which ultimately helps reduce Web requests’ sizes, while also introducing server push. The latter function enables serving resources to the visitor’s browser before they are even requested.
The TCP Protocol - reliable but expendable
The main changes that the HTTP/3 protocol version implements, are designed to overcome the limitations of the TCP protocol, which is widely used by HTTP/1.1 and HTTP/2.
One the one hand, TCP is extremely reliable due to a number of reasons. Firstly, it utilizes a multi-step connection establishment. Secondly, it requires a three-way handshake. Thirdly, it enforces an order of delivery packets. Finally, it enables retransmission of lost packets. Furthermore, the sender receives feedback on the delivery of said packets as well as a checksum, which is used to detect data corruption.
On the other hand, this added reliability in terms of handshakes, delivery feedback, checksums and guaranteed order of packets leads to TCP having a lot of overhead, because of the excessive amount of redundant round trips that the protocol might need to complete.
But why must a new protocol be introduced, rather than just changing TCP? Simply said, a change like this is not as easy as it might sound.
TCP has been around since the creation of the World Wide Web and is implemented in all operating systems and device firmware that are being utilized today. If we want significant improvements in speed and overhead reduction, a new protocol is needed, which also does not build upon the principles of TCP.
What is the QUIC protocol and how does it work?
The QUIC protocol was designed, implemented and deployed by Google in 2012. It builds on the connectionless UDP protocol and is not constrained by the limitations of TCP.
QUIC uses individual streams to transfer data. These streams utilize the same connection, removing the need of establishing additional connections in order to employ multiplexing.
Benefits of the QUIC protocol
An added benefit of the protocol is that the streams are delivered independently, meaning that potential packet loss on one stream will not affect the others. In contrast, with HTTP2, if a packet is lost, the entire connection is essentially paused until the TCP retransmits the packet.
QUIC also provides strong encryption and authentication by default. It does this by combining an independent three-way handshake with TLS 1.3's handshake. This ensures better security while also improving connection establishment speeds.
Given that multiple QUIC streams can use the same connection, there is no need for additional handshakes or slow starts. Consequently, this leads to faster speeds. This is all possible due to the fact that QUIC packets are encapsulated on top of UDP datagrams.
QUIC records the delivery order of bytes using stream IDs at the packet layer. This order is enforced within a single stream, however, it is not guaranteed to be the same across different streams.
The header compression used in HTTP/2 - HPACK, heavily relies on the order of TCP packets. Hence why it is unusable with the QUIC protocol. This is yet another reason why QUIC needs a new version of HTTP instead of using the previous one. Because of this, HTTP/3 comes equipped with a brand new compression scheme - QPACK, solving the packet order issue.
Finally, some HTTP/2 features have been directly implemented into QUIC, meaning that they don’t need to be present in the top level protocol anymore, which again makes HTTP/2 redundant in terms of usability.
Who will benefit the most from HTTP/3?
While this new protocol will significantly improve a vast majority of startup times and security when it comes to online connectivity, there are some areas where HTTP/3 will become the new standard.
Examples of such connections are those with extremely bad performance, which is substantially lower than that of average connections. While this segment doesn’t represent a large majority of online connections and traffic, the improvements that HTTP/3 can bring can be the difference maker between unusable Internet and a stable connection.
Such slow connections can be caused by many different things such as aging technology, physical obstructions and obstacles and network congestion being some of the most common causes.
Additionally, as we already mentioned, if there is high packet loss, there are delays due to the fact that the transactions are not independent when it comes to TCP multiplexing. This means that the loss of a single packet will result in all transactions having to wait for retransmission.
All of these examples illustrate how important and beneficial HTTP/3 and QUIC actually are as they can immensely increase connection speeds and security. Because of this, such protocols will benefit online retailers, ecommerce businesses and service providers that require a stable connection for both browsing and payment making and processing.
When will HTTP/3 be available?
HTTP/3 has been available for quite some time now. It can be enabled in both Google Chrome and Firefox.
Many Web servers have also started supporting it since mid-2019. Litespeed, our Web server of choice for our shared hosting, was among the first ones to adopt the innovative protocol. Because of this, our shared hosting supports HTTP/3, meaning that they are the perfect choice for you if you wish to utilize the protocol.
Cloudflare has also supported HTTP/3 for a number of years and recently announced that they will start enabling it for all websites by default.
Being compatible with older protocol versions and also being thoroughly tested by thousands of users, HTTP/3 is considered safe and issue-free, meaning that it will become the standard soon.
HTTP/2 vs HTTP/3
Overall, while HTTP/2 is still young, the new and improved HTTP/3 is slowly surging forward and making a name for itself, starting to be utilized worldwide.
Being an important upgrade when it comes to connection speed, general connectivity and security, many companies and businesses including browsers and Web servers have begun to implement it. This backing and support by major players in the industry consequently means that the protocol is highly likely to solidify its place as a standard over the upcoming years.
The worldwide implementation of the HTTP/3 protocol will mean that everyone will have a faster, more secure and reliable connection, ultimately resulting in a better Web experience.