HTTP/2について理解をまとめてみました。
□ HTTP/1.1の弱点
通信回線の使い方に無駄が多かった。基本的にHTMLの要素を一つ一つ、リクエストを送信して、レスポンスを受信してからページを構成する、というものだからです。
□ HTTP/2
次の4つの特徴を理解したいです。とくにAとBです。
A.多重化(フレームをストリームに乗せて送る)
B.平行リクエスト数(リクエストを同時にいくつも送れる)
C.ヘッダ圧縮
D.優先度制御
□ 2015年5月
タイミングとして機が熟した理由
1)SPDYプロトコルによる実験 Google
2)バンド幅が拡大
3)モバイルはRTT(Round trip time)が大きい
4)HTTPSへ移行して、接続確立に要する処理が重い
□ まとめ...
要するに、
これまでURLごとにサーバまで送っていた方法を、一度クライアントでURLという荷物をまとめて、途切れの無い大きな「かたまり状態」にして送る、サーバはそれらの荷物をひもといてリクエストに応答させて、そのレスポンスをまた「かたまり状態」にまとめて送る方法を使えるようにした、ということ。
現在ではHTTP/1.1の利用を前提とすると、通信回線が空いているために、送る前と後にローカルでCPUによって細工を施した方が全体としてページの表示が速くなる、というお話です。一つのパケットを大きくして、同時に送れる数を増やす。一方でパケットの中身に工夫して、リクエストをばらばらにしてもまた集める方法を用意した、ついでにヘッダを圧縮したり、重み付けができる要したり、と小細工を入れて、さらなる高速化を図っている。
ファイルを圧縮して送って回答した方が全体として速い、ということと似ていると思いました。大きな違いは、ブラウザとWebサーバソフトが勝手に実行する、ところです。
参考資料:WEWB+DB Press Vol.89 速習HTTP/2 奥一穂氏