HTTP is the application protocol that powers the Web. It began life as the so-called HTTP/0.9 protocol in 1991, and by 1999 had evolved to HTTP/1.1, which was standardised within the IETF (Internet Engineering Task Force). HTTP/1.1 was good enough for a long time but the ever-changing needs of the Web called for a better-suited protocol, and HTTP/2 emerged in 2015. More recently it was announced that the IETF is intending to deliver a new version – HTTP/3.
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. In the OSI networking model, 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 categorisation as a transport protocol. But TCP protocol is growing very old. Even after a lot of tweaks by the researchers to meet the newer needs of the market, it is understood by the engineers that they were 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 a lot of websites.
But SPDY was just another improvement on TCP and its principles. Google engineers realised they could do much better if they’d combine the reliability of TCP and the speed of UDP, together into a 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, to build even a faster layer 4 transport protocol. Google wants QUIC to slowly replace both TCP and UDP as the new protocol of choice for moving binary data across the Internet, and for good reasons, as a test has proven that QUIC is both faster and more secure because of its encrypted-by-default implementation.
Google Chrome’s latest release supports HTTP/3 and Mozilla Firefox is soon adding the support in the next release.