To Improve Speed, Google Chrome Rolls Out HTTP/3 Support Through IETF QUIC

HTTP/3 Chromium

The internet's speed in general is speeding up. This allows more media and interactivity, making the web a lot more interesting and engaging.

However, the underlying protocols of the web, rarely change. For example, the TCP (Transmission Control Protocol), is the internet protocol that provides end-to-end data communication to specify how data should be packetized, addressed, transmitted, routed, and received.

Invented by internet pioneers Vint Cerf and Bob Kahn, the protocol has been around and being used for decades.

For a more speedier modern web, the decades-old technology should experience an upgrade.

And QUIC (Quick UDP Internet Connections), is considered the proper replacement for that only thing that hasn't been changed since the general web was practically born.

The difference between TCP and QUIC is that the latter uses UDP (User Datagram Protocol) which is simpler and faster.

QUIC that has been around since 2012, has been under active development at Google since its announcement in 2013. Google has been experimenting on the protocol "to reduce the number of round trips we need as we surf the internet."

Google has been implementing QUIC into Chrome and its other online services to improve their reliability. In fact, more than half of Chrome's requests to Google's servers are already handled by QUIC.

Other browsers, like Microsoft Edge and Mozilla's Firefox, are also into the bandwagon.

But it was back in 2015 that the IETF (the Internet Engineering Task Force, a standards body) took an interest in QUIC. They began developing the standard in parallel to Google's version of QUIC (gQUIC) in 2016.

It was later revealed that IETF's version of QUIC, called the IETF QUIC, was in fact superior to Google's.

'TCP, TCP+TLS, QUIC'
Credit: Google

This is why in 2018, the IETF’s HTTP and QUIC groups decided that HTTP/3 was going to be defined as HTTP mapping onto QUIC. This makes QUIC the official replacement for TCP for a more future-proof standard.

So when TCP runs on HTTP/1 and HTTP/2 as their transport, QUIC at this time is unique to only HTTP/3.

On a Chromium blog post, Google announced that its Chrome web browser has added IETF QUIC support (draft version h3-29, specifically), and is starting to use HTTP/3 by default on all supported websites.

At this time, only about 7.5% of websites use HTTP/3 (and QUIC, by extension). These websites include all of Google's online services, as well as as all websites using Cloudflare that have toggled the setting on.

It should be noted though, that Safari also supports HTTP/3 via IETF QUIC by default, and that the Apple browser rolled out the support earlier than Google.

But Google however, took the credit, simply because the company claimed that a quarter of Chrome users are already using IETF QUIC.

According to Google's initial tests, the company found that using IETF QUIC decreased Search latency by over 2%, and has reduced YouTube rebuffer time by over 9%. In total, client throughput increased by 3% on desktop and 7% on mobile.

This happens because QUIC fixes a major problem of HTTP/2 called "head-of-line blocking". Due to the parallel nature of HTTP/2's multiplexing is not visible to TCP's loss recovery mechanisms, a lost or reordered packet causes all active transactions to experience a stall regardless of whether that transaction was impacted by the lost packet.

Because QUIC provides native multiplexing, lost packets only impact the streams where data has been lost.

Google said that these numbers can improve the more bugs get squashed.

Published: 
13/10/2020