
A while ago, I had a closer look at HTTP/2 (from a 5G core network point of view), and how a client could detect during connection establishment if it can use this flavor of the protocol or not. The short answer to the question is that the client and the server use an extension parameter of the TLS protocol during the authentication and ciphering exchange. In the meantime, the world has moved on, and HTTP/3 has made it out of the starting gate and is already used in practice. Unlike previous versions of the HTTP protocol that use TCP, HTTP/3 is based on UDP and the new QUIC protocol, which implements TCP like flow control and a number of other improvements to speed up the simultaneous transfer of many different files that usually comprise a web page these days. And so I had the same question again: How does the browser detect that it can use HTTP/3, and, as a consequence UDP/QUIC, for a web page instead of TCP?
Continue reading HTTP/3 and QUIC


