[LINK] HTTP/3

Stephen Loosley StephenLoosley at outlook.com
Tue Apr 19 16:52:01 AEST 2022


HTTP/3 From A-Z

Ref: http://archive.thesizzle.com.au

If you're interested in knowing how the bits make it from a web server to your web browser, you'll know about the HTTP protocol.

There are now 5 versions of HTTP that are widely deployed and accepted on the Internet today - HTTP/0.9, HTTP/1.0, and HTTP/1.1 are roughly compatible with each other, the newer HTTP/2 brings many new features to the protocol but is not backwards-compatible at the protocol level, and the new-shiny HTTP/3 is mostly-compatible with HTTP/2... except it uses a completely different network transport protocol.

I stumbled across an excellent series of articles (url below) about HTTP/3 by Robin Marx on the long weekend, which starts off moderately-technical (assumes some knowledge of previous HTTP protocols, and some knowledge of TCP and UDP network transport protocols) and ramps up from there with detailed explanations of known issues in HTTP/1 that were somewhat-addressed in HTTP/2, and now better-addressed in HTTP/3.

https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/

My take on it all is that the mandatory encryption in HTTP/3 is a huge win for privacy (I can hear the telcos screaming from here as their "value-adding" middle-boxes become useless), the transparent network-hopping is pretty cool but will rarely be noticed, the network multipathing will be very quickly turned off by users once it destroys their mobile data allowance, and the reduced number of round trips to set up a new network session won't really be noticed by anyone in Australia because we accept high latency as a normal part of web page loads because we're on the wrong side of the Pacific Ocean.

Right now, the biggest barrier to deploying HTTP/3 is the lack of support from web servers, as web browsers such as Chrome and Firefox already widely support HTTP/3 (Fastly provides a HTTP/3 browser compatibility checker: https://http3.is/ )

Currently, the Apache web server does not support HTTP/3 and has not announced plans to, and Nginx has two experimental implementations. The easiest way to HTTP/3-enable your web site is to use a content delivery network that supports HTTP/3, such as CloudFlare or Fastly.

--


More information about the Link mailing list