What is the difference between HTTP/2 and HTTP/3 and what is QUIC.

The classic stack is HTTP/2, TLS, TCP, IP. At least half of the participants of Saint HighLoad++ use it in their applications.

An alternative solution is HTTP/3. QUIC is a protocol on top of UDP, which implements all the same things that were in TCP, encapsulates TLS in itself, but better. If you run HTTP/2 on top of QUIC, you get HTTP/3.

QUIC data is transmitted faster, especially on a bad network, because QUIC has:

Zero-RTT — the ability to send a request immediately, without long handshake and acknowledgment;

Multiplexing — transfer of multiple streams in one connection;

IP Migration — IP address change, for example, when switching from mobile Internet to Wi-Fi, occurs transparently (on TCP it may take 30 seconds);

User Space implementation — this means that the protocol is not built into the operating system, each application can have its own implementation on the client;

Congestion control — to understand what it is and how it affects the data transfer rate, let’s dive deeper into the device of the network layer.