HTTP/2

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 奥一穂氏