HTTP2とは、HTTPbisワーキンググループによって開発されたHTTPの新バージョンです。
1999年に制定されたHTTP/1.1からおよそ17年ぶりのアップデートになり、主にパフォーマンスの向上を目的として開発されています。
HTTP/2の主な特徴
フレーム
HTTP/1.1ではリクエストやレスポンスはテキストフォーマットでやり取りされていましたが、
HTTP/2ではフレームというバイナリフォーマットを用いることで効率的な情報の受け渡しが可能となります。
ストリーム
HTTP/1.1ではリクエストとレスポンスの組を1つずつしか同時に送受信できず、パフォーマンス上の課題となっていました。
HTTP/2ではストリームと呼ばれる仮想的なパイプラインを複数立ち上げ、それぞれのストリーム内でリクエストとレスポンスを
やり取りすることができるので、同時に複数の組の送受信が可能になりました。これによりパフォーマンスが向上します。
また、クライアントはストリームの優先度をサーバ側に通知することもできます。
ヘッダー圧縮
HTTPヘッダーの圧縮方法について、送信が必要なヘッダーのみを差分として抽出して送信する方法に変更されたため、転送量が削減されます。
サーバープッシュ
クライアントからのリクエストがなくとも、サーバー側で必要ファイルを判別して事前にクライアントに送信することができます。