QUIC
QUIC は、UDP で実装された多重化トランスポートプロトコルです。HTTP/3 のトランスポート層として TCP の代わりに使用されます。
QUIC は、HTTP 接続のセットアップの迅速化と遅延の低減を提供するために設計されました。具体的には、以下の通りです。
-
TCP では、最初の TCP ハンドシェイクにオプションで TLS ハンドシェイクが続きますが、これはデータを送信する前に完了する必要があります。TLS は今やほとんど普及しているので、QUIC は TLS ハンドシェイクを最初の QUIC ハンドシェイクに統合し、セットアップ時に交換しなければならないメッセージの数を縮小しています。
-
HTTP/2 は多重化されたプロトコルであり、複数の HTTP トランザクションを同時に実行することができます。しかし、トランザクションは単一の TCP 接続上で多重化されるため、TCP 層でのパケットロスやその後の再送が起こると、すべてのトランザクションがブロックされてしまいます。QUIC はこれを避けるため、UDP 上で実行し、パケットロスの検出と再送信を各ストリームに対して別個に実装しています。