【イラスト図解式 この一冊で全部わかる Web技術の基本】 「3-8.HTTP/2のやりとり」を読んで
【イラスト図解式 この一冊で全部わかる Web技術の基本】
「3-8.HTTP/2のやりとり」を読んで
「イラスト図解式 この一冊で全部わかる Web技術の基本」の第3章8節についての要点、自分なりの知識の整理の2点を述べていきます。
1.要点
HTTP/2はGoogleが提案した通信の高速化を目的としたSPDY(スピーディー)というプロトコルを使用
ストリームによる多重化
※ストリームとは
HTTPリクエスト(以下リクエスト)からHTTPレスポンス(以下レスポンス)までの一連のやりとり
仮想的な通信経路
HTTP/2はひとつのTCPコネクションにストリームを複数形成して、リクエストとレスポンスをやりとりできる
→レスポンスの待ち時間がなくなり、通信がより高速化
2.知識の整理
- なぜHTTP/2に改良されたのか?
<気になった理由>
・HTTP/1.1の課題とHTTP/2のメリットがわかるから
・HTTP/1.1という16年も使ってきたバージョンを変えるとは、よほど何かすごいことがなされているのでは!?と思ったので…(好奇心)(ほかのバージョンは数年単位で変わっている)
【結論】基本的なしくみは従来と変わらないが、転送手段が新しくなった
HTTP/2は「より少ない通信量」「よりWebコンテンツの読み込みを高速化」がポイントになります。
HTTP/2について知る前に、本書で出てきたSPDYについて調べてみました。
SPDYとは
・Googleが開発したプロトコル
・目的はWebのコンテンツの読み込みの高速化
・最終的にHTTP/2が吸収
▽以下の課題をプロトコルレベルで解決
・1回のコネクションにつき1つのリクエストしか送れない
・リクエストがクライアント(ブラウザ)からしか開始できない
・リクエスト/レスポンスヘッダーが非圧縮のためヘッダーサイズが大きい
・ヘッダーが長い
・データ圧縮の使用が強制ではない
<なぜHTTP/2が必要だったのか>
上記の課題を解決したかったため
HTTP1.0では、1つのリクエストが完了するまで、次のリクエストを送ることができませんでした。
HTTP/1.1では、ブラウザが複数のリクエストを同時に送れるようになりました。
しかし、レスポンスはリクエストされた順番を忠実に守って送られます。
つまり、データの容量が大きいとき、読み込みが遅いファイルがあるとき、通信に時間がかかってしまう状況に陥ってしまうのです。(むずかしい)
HTTP/2の登場により、これらの課題が網羅的に解決されていきます。
ストリームの登場により、リクエスト処理の時間が短縮できるようになりました。
ストリーム単位でやりとりされるので、シンプルかつスピーディーな通信ができるようになるんですね。
HTTP/1.1で抱えていた課題が解決されました。(やったね)
明日はHTTP/2の改良点についてもう少し深掘りしてまとめます!
ご意見やご指摘、感想などコメントでお待ちしています!
最後まで読んでいただき、ありがとうございました!
【出典】
イラスト図解式 この一冊で全部わかるWeb技術の基本
HTTP/2-MDN Web Docs
普及が進む「HTTP/2」の仕組みとメリットとは
SPDY: An experimental protocol for a faster web- The Chromium Projects
「HTTP/2」がついに登場! 開発者が知っておきたい通信の仕組み・新機能・導入方法