Earlier this summer, the Internet Engineering Task Force (IETF) published RFC 9114, otherwise known as HTTP/3. This is the latest evolution of HTTP, which is an application layer protocol that is the foundation for the Internet as we know it today.
One important difference in HTTP/3 compared with previous iterations is that it runs on a new transport protocol called QUIC, which relies on the User Datagram Protocol (UDP) instead of the Transmission Control Protocol (TCP), the CDN provider Cloudflare explained in a blog post.
According to Cloudflare, QUIC was designed for mobile-heavy Internet usage. These days nearly everyone carries a smartphone and it is constantly connecting to different networks as people move around.
“This was not the case when the first Internet protocols were developed: devices were less portable and did not switch networks very often,” Cloudflare explained. One of the benefits of using UDP instead of TCP is that it enables faster connections.
According to Mike Bishop, principal architect at CDN provider Akamai, with TCP, you make one request and you get one response back. You can only use one connection for a request, so if you want to make multiple requests at once, you have to open multiple connections. HTTP/2 did make some improvements where TCP is concerned by adding a multiplexing layer so that you could make multiple requests in parallel.
“But you still had an underlying transport that delivered everything in order,” Bishop said. “So it’s an improvement in a lot of ways, but it also has some downsides. And so HTTP/2 was kind of the best you could do without messing with the transport layer.”
By switching from TCP to UDP in HTTP/3, a lot of that parallelism that previously had to be built on top of TCP is now natively in the transport layer, he explained.
“A lot of the advantages that you get when we talk about HTTP/3 are really advantages of QUIC over TCP,” he said.
According to Cloudflare, some of the benefits include decreasing the effects of packet loss, zero round-trip time, and more comprehensive encryption.
QUIC was developed at Google in 2012 and the IETF adopted it as it started developing HTTP/3 and has made a number of changes to create its own version of it.
A number of major browsers already offer support for it, including Google Chrome, Microsoft Edge, Mozilla Firefox, and Apple Safari.
According to Cloudflare, the whole web won’t switch over immediately, and many sites haven’t even switched to HTTP/2 yet.
“One potential hurdle for the new protocol is that it requires increased CPU usage for both the server and client. This will likely decrease in impact over time as the technology evolves,”
Cloudflare wrote.
Another downside is that HTTP/3 is not going to be ideal for every possible use case, Bishop said.
“I think the reality is that probably HTTP/1, HTTP/2, and HTTP/3 are going to stick around, maybe forever, but at least long-term,” said Bishop.
He explained that there are situations if you are using TCP where HTTP/1 is better than HTTP/2, and there are things that just won’t work with UDP, upon which HTTP/3 is based.
“And so there are cases where you just can’t use QUIC and so you’re going to have to maintain support for either HTTP/1 or HTTP/2,” he said.