HTTP/1.1よりもさらにデータ通信を早くすることを目的にHTTP/2が誕生しました。
HTTP/2の特徴をまとめます
ストリームによる通信経路の複数生成
HTTP/1.1
HTTPのリクエストが送られてきた順番通りにそれに対応したHTTPレスポンスを返さなければならない
→あるHTTP通信の処理に時間がかかってしまうとそれ以降のHTTP通信はその通信を待たなければならない
HTTP/2
一つのTCPコネクションに複数の通信経路であるコネクション
を複数生成します。それぞれのストリームは独立しているので、HTTP通信の待ち時間が生じることが無い
HTTP通信にバイナリ形式のフォーマットを使用
HTTP/1.1
HTTPリクエスト・HTTPレスポンスでは全てのデータが一度に送信されるため時間がかかる
HTTP/2
HTTPリクエスト・HTTPレスポンスはフレームと呼ばれる単位に分けられ、バイナリ形式で送信される
ヘッダー圧縮
HTTP/1.1
HTTP何度かやりとりされるHTTPリクエスト・HTTPレスポンスにはWebサーバーやWebブラウザなど重複する情報が多い
HTTP/2
ヘッダー情報から差分のみ送れるのでデータ転送量を削減できる
サーバープッシュ
HTTP/2
HTTPリクエストの内容から判断し、HTTPリクエストを受ける前に必要なデータを事前にWebブラウザに転送する