a year ago
- HTTP/2 improved efficiency by multiplexing requests over a single TCP connection but faced issues like Head-of-Line Blocking and Connection Persistence.
- QUIC (Quick UDP Internet Connections) was developed by Google in 2012 to overcome TCP's limitations by operating over UDP and incorporating its own reliability mechanisms.
- QUIC uses a unique Connection ID (CID) for tracking connections, enabling seamless network switches without dropping the connection.
- QUIC eliminates Head-of-Line Blocking by monitoring streams independently, allowing other streams to continue even if one loses a packet.
- QUIC integrates encryption into its handshake, reducing latency compared to TCP's separate TLS handshake.
- QUIC's handshake involves exchanging SCID, DCID, cipher suites, and certificates to establish a secure connection.
- QUIC packets include headers with SCID, DCID, and packet numbers, and data parts with STREAM frames for multiplexing.
- HTTP/3 was created to work with QUIC, retaining HTTP/2's stream-based architecture but delegating multiplexing to QUIC.
- HTTP/3 introduces request, control, and push streams, each mapped to QUIC streams for efficient data transfer.
- HTTP/3 frames include DATA, HEADERS, SETTINGS, and GOAWAY, used for requests, responses, configuration, and connection termination.
- QUIC and HTTP/3 are widely adopted, with ~34% of websites using HTTP/3, including major platforms and browsers.