HTTP/2
2012 SPDYをGoogleが実運用していた。ここからHTTP/2の仕様は始まった 2015/11に標準化が完了し、GoogleもHTTP/2を使うようになった
学習リソース
HTTP/2 の主な目標は、レイテンシの短縮です。
リクエストとレスポンスの完全な多重化
HTTP ヘッダー フィールドの効率的な圧縮によるプロトコル オーバーヘッドの最小化
HTTP/1.x では、このメタデータは常にプレーン テキストで送信され、場所を問わず転送 1 回あたりに追加されるオーバーヘッドが 500~800 バイトで、HTTP Cookie が使用されている場合はキロバイト以上にのぼることもあります
HTTP/2 は HTTP プロトコル通信を分解して、バイナリ エンコーディングされたフレームを交換します。このフレームは、特定のストリームに属するメッセージにマッピングされ、1 つの TCP 接続内ですべて多重化されます。
これは、HTTP/2 プロトコルが提供するその他すべての機能とパフォーマンスの最適化を実現する基盤となります。
HTTP/1.1はクライアントからサーバには最大6接続で、しかも遅いものがあると解決されるまでその接続は使えなかった 和訳あり
弱点
パケロスに弱い(ネットワークが不安定な場合に弱い)
TCPレイヤで不整合があると訂正されるまで全体がブロック
すべてのコネクション解決までに待たされる
これはHTTP/3で誤り訂正を自前で実装することによって解決 実例