Cloudflare, Google Chrome, and Firefox add HTTP/3 support

Next iteration of the HTTP protocol starts making its way into production systems.

http3.png

HTTP/3, the next major iteration of the HTTP protocol, is getting a big boost today with support added in Cloudflare, Google Chrome, and Mozilla Firefox.

Starting today, Cloudflare announced that customers will be able to enable an option in their dashboards and turn on HTTP/3 support for their domains.

That means that whenever users visit a Cloudflare-hosted website from an HTTP/3-capable client, the connection will automatically upgrade to the new protocol, rather than being handled via older versions.

On the browser side, Chrome Canary added support for HTTP/3 earlier this month. Users can enable it by using the Chrome command-line flags of "--enable-quic --quic-version=h3-23".

In addition, Mozilla too announced it would roll out support for HTTP/3. The browser maker is scheduled to ship HTTP/3 in an upcoming Firefox Nightly version later this fall.

What is HTTP/3?

HTTP/3 is the next major version of HTTP, the protocol through which content moves from servers to clients, where it's displayed inside browsers, mobile apps, or other applications.

HTTP v3 -- or HTTP/3 -- is different from everything that came before it. It's a complete rewrite of HTTP that uses the QUIC protocol instead of TCP, and also comes with built-in TLS (encryption) support.

It's an amalgam of multiple technologies; all meant to make websites load faster and over encrypted connections by default.

To understand how HTTP/3 works you must first understand how the OSI networking model works. By default, HTTP (a layer 7 protocol) uses TCP (a layer 4 protocol) as it's base. TCP is used to negotiate connections between clients and servers, and then move the data between the two parties -- hence its categorization as a transport protocol.

osi-model.jpg

Image: BMC

But the TCP protocol was designed in the 70s, and nobody expected it to be used for near real-time communications, as it's used today. As the years went by, software engineers began understanding that TCP was never designed for speed.

Across the years, several teams of engineers have attempted to create a better transport layer protocol. Of all, Google's engineers have been the most successful.

They first created SPDY, a protocol that fixed some of TCP's problems, and was later used for HTTP-over-SPDY, a protocol that eventually became the official HTTP/2, now used on around 40% of all internet sites.

But SPDY was just another improvement on TCP and its principles. Google engineers realized they could do much better if they'd combine the reliability of TCP and the speed of UDP, together into a totally new protocol.

That's how QUIC came to be, or "Quick UDP Internet Connections." As its name implies, this is a protocol that merges the best features of TCP and UDP, in order to build even a faster layer 4 transport protocol.

HTTP/3 is QUIC implemented inside HTTP, replacing TCP and SPDY at the transport level. It was formally approved last October.

Cloudflare to give HTTP/3 adoption a boost

Initial support was added in Chrome 29 and Opera 16, and in LiteSpeed servers. Chrome support expanded this month, but the bigger news is Cloudflare making the protocol generally available for its customers.

The content delivery network (CDN) is a major player on the web, powering around 10% of all internet sites. Having the company roll out HTTP/3 support all but ensures its broader and quick adoption.

"Cloudflare was one of the major drivers of H2 adoption having released its HTTP/2 support for all customers in December 2015. In fact, Cloudflare still powers the majority of the HTTP/2 web," a Cloudflare spokesperson told ZDNet this week.

Now, the company believes it's time to move the web towards even a better protocol, one that's both faster, but also comes with built-in support for TLS, the protocol at the heart of HTTPS.

According to W3Techs, HTTP/3 is currently used by only 3% of all internet websites.