HTTP/2
RFC7540 HTTP/2
https://www.nic.ad.jp/ja/newsletter/No68/NL68_0800.pdf
2012 SPDYをGoogleが実運用していた。ここからHTTP/2の仕様は始まった
2015/11に標準化が完了し、GoogleもHTTP/2を使うようになった
学習リソース
HTTP/2 の概要  |  Web  |  Google Developers by Ilya Grigorik, Surma
HTTP/2 の主な目標は、レイテンシの短縮です。
リクエストとレスポンスの完全な多重化
HTTP ヘッダー フィールドの効率的な圧縮によるプロトコル オーバーヘッドの最小化
HTTP/1.x では、このメタデータは常にプレーン テキストで送信され、場所を問わず転送 1 回あたりに追加されるオーバーヘッドが 500~800 バイトで、HTTP Cookie が使用されている場合はキロバイト以上にのぼることもあります
リクエストの優先順位付けおよびserver pushのサポート
HTTP/2 は HTTP プロトコル通信を分解して、バイナリ エンコーディングされたフレームを交換します。このフレームは、特定のストリームに属するメッセージにマッピングされ、1 つの TCP 接続内ですべて多重化されます。
これは、HTTP/2 プロトコルが提供するその他すべての機能とパフォーマンスの最適化を実現する基盤となります。
HTTP/1.1はクライアントからサーバには最大6接続で、しかも遅いものがあると解決されるまでその接続は使えなかった
https://speakerdeck.com/recruitengineers/browser-b45d3a59-af2b-449c-992e-fd7563745f80?slide=76
この文章はハイパフォーマンス ブラウザネットワーキングの引用らしい
HTTP/2 Japan Local Activity
http2 explained - The HTTP/2 book
和訳あり
弱点
パケロスに弱い(ネットワークが不安定な場合に弱い)
TCPレイヤで不整合があると訂正されるまで全体がブロック
すべてのコネクション解決までに待たされる
https://speakerdeck.com/recruitengineers/browser-b45d3a59-af2b-449c-992e-fd7563745f80?slide=80
これはHTTP/3で誤り訂正を自前で実装することによって解決
https://speakerdeck.com/recruitengineers/browser-b45d3a59-af2b-449c-992e-fd7563745f80?slide=82
実例
http://inside.pixiv.net/entry/2015/12/10/153114
#HTTP