HTTP/3

前述のとおり、QUIC 上でトランスポートする最初の基本的なプロトコルは HTTP です。

かつて HTTP/2 が完全に新しい方法を用いて、ネットワーク経由で HTTP をトランスポートするために導入されたのとよく似ていて、HTTP/3 もまた、ネットワーク上で HTTP 送信を行う新しい方法を導入します。

HTTP は今でも以前と同じパラダイムとコンセプトを維持しています。

ヘッダとボディがあり、リクエストとレスポンスがあります。

HTTP メソッドがあり、クッキーがあり、キャッシュ機能があります。

HTTP/3 で主に変わったことは、どのようにビットを伝達相手に送るかです。

HTTP over QUIC を実現するために、様々な変更が必要とされ、その成果がいま私達が HTTP/3 と呼んでいるものです。

これらの変更は QUIC が TCP とは異なった性質を持つために必要とされました。

これらの変更は、以下のものを含んでいます。

  • QUIC において、ストリームはトランスポート自体により提供されますが、その一方で HTTP/2 において、ストリームは HTTP レイヤーで実行されます。

  • ストリームが互いに独自のものであるため、HTTP/2 で使われているヘッダ圧縮プロトコルを使用すると head-of-line ブロック状態を引き起こすようになりました。

  • QUIC ストリームは HTTP/2 ストリームとは僅かに異なります。HTTP/3 セクションでは、これについてやや詳細に説明します。

Last updated