Hasty Briefsbeta

Bilingual

HTTP/3 and the QUIC Internet Protocol

a year ago
  • #Networking
  • #HTTP/3
  • #QUIC
  • 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.