ISBN 9784798163789
詳解HTTP/2
概要
HTTP/2の全機能をプロトコルレベルから実務適用まで体系的に理解する
想定読者
Webサイトのパフォーマンス改善やHTTP/2移行を担当するWebエンジニア・インフラエンジニア
こんな人には向いていない
- HTTPの基礎(リクエスト/レスポンス構造・ステータスコード)をまだ習得していない入門者には前提知識の不足が大きい
- すでにHTTP/2を本番環境で運用し、QUIC/HTTP/3の詳細まで把握済みのエンジニアには基本事項の比重が大きく感じられる
読了後にできるようになること
- ストリームと多重化の仕組みを理解し、HTTP/1.1との接続モデルの違いを説明できる
- HPACK(辞書ベースのヘッダ圧縮)の動作原理と、ステートフル圧縮がもたらす転送量削減の効果を把握できる
- サーバープッシュの設計指針と、フロー制御(WINDOW_UPDATE フレーム)による帯域管理を実装レベルで理解できる
- HTTP/1.1時代の最適化手法(ドメインシャーディング・スプライト・インライン化)がHTTP/2では逆効果になる理由を説明できる
- Wireshark等のツールを使ってHTTP/2フレームを可視化・解析できる
- QUIC/HTTP/3への移行に向けた準備事項と技術的差異を把握できる
ハイライト
- 本書ではHTTP/2の恩恵を最大限に受けられるよう、知っておくべきことを詳細に開示してくれます。それはたとえば、フレームのような新機能を使ったパフォーマンスの最適化や、多重化、プッシュなどです。また、フローコントロールや依存性など実世界に即した内容も取り上げています。(HTTP/2の個別機能を点として学ぶのではなく、実世界での組み合わせ方を扱う本書の編集方針が端的に表れている)
外部からの言及
- HTTP/2のgRPC活用事例や多重化・ヘッダ圧縮の解説記事が複数書かれており、HTTP/2のバイナリフレームとHPACK圧縮はgRPCを理解する前提知識として日本語技術記事で繰り返し参照される技術領域になっている。本書はその体系的な理解を一冊で得られる邦訳資料として位置付けられる(qiita)
- QUIC/HTTP/3の議論が活発になった2018年以降、HTTP/2の設計上の限界(TCP線頭ブロッキング)を理解した上でHTTP/3を論じる記事が増えている。HTTP/2の仕様をプロトコルレベルで把握していることが、HTTP/3移行議論に参加するための実質的な前提となっており、本書のカバー範囲(HTTP/2詳解 + QUIC/HTTP/3準備)はその需要に対応している(qiita)
編集メモ
直接本書を引用するQiita記事の確認数は少ないが、HTTP/2のストリーム・HPACK・フロー制御はgRPC・QUIC・HTTP/3関連の高LIKESな日本語技術記事(likes 100〜655)で前提知識として繰り返し登場する技術領域であり、体系的邦訳書として実務参照価値は高い。Manning原著の2019年刊。rakutenランキング情報は今回取得できず
読む前に押さえておきたいこと
- HTTP/1.1のリクエスト・レスポンス構造とTCP/IPの基本的な動作(本書はここから説明しているが、経験があると読み進めやすい)
- TLSハンドシェイクの概要(HTTP/2は実質TLS必須のため、TLSの基礎があると移行判断の章を理解しやすい)
- Nginxまたはリバースプロキシの設定経験(実践例を読む際に役立つ)
学習のコツ
- HTTP/1.1の問題点を扱う序盤の章を丁寧に読んでおくと、HTTP/2の各機能が『なぜ存在するか』を腹落ちさせられる。急いで新機能の章に飛ぶと設計意図が抜け落ちやすい
- フレームの可視化ツール(Wireshark等)を実際に動かしながら読むと、ストリームIDとフレームの対応が体で覚えられる。本書が工具導入手順を提供しているのはそのためで、手順を飛ばさないこと
- HTTP/1.1時代のパフォーマンス最適化(ドメインシャーディング・CSS/JSスプライト等)を現行プロジェクトで使っているエンジニアは、それらを廃止すべき章を優先的に読むと即効性が高い
- QUIC/HTTP/3の章は本書執筆時点(2019年)のスナップショットであることを念頭に置き、最新の仕様進捗は別途RFCや技術ブログで補完するとよい
出版社による内容紹介
より高速でセキュアなWebサイトはHTTP/2で実現する 【本書の内容】 本書は Barry Pollard, "HTTP/2 in Action", Manning Publications 2019 の邦訳版です。 ブラウザとWebサイトを繋ぐ標準的なプロトコルとして、 HTTPは想定を遥かに超える長きに渡って活用されてきました。 プロトコルに限らず、たいていの技術は20年も経てば、 なにかしらの不満や改善点が見えてくるものです。 本書のメインテーマであるHTTP/2は現行のHTTPと比べて、 ストリームやサーバープッシュ、ヘッダー圧縮や優先順位付けをサポートすることで、 速度、セキュリティ、効率性を大幅に向上させます。 本書ではHTTP/2の恩恵を最大限に受けられるよう、 知っておくべきことを詳細に開示してくれます。 それはたとえば、フレームのような新機能を使った パフォーマンスの最適化や、多重化、プッシュなどです。 また、フローコントロールや依存性など実世界に即した内容も取り上げています。 本書に書かれていることを十全に理解し、さまざまなコツや事例を知ることで、 読者はより高速かつセキュアなWebサイトを 構築できるようになるでしょう。 【本書のポイント】 ・HTTPの基礎から現状の問題点・長年望まれてきた改善点の整理 ・HTTP上を流れるデータを可視化しつつHTTP/2による改善点の確認 ・可視化のためのツール導入とその使い方 ・QUICおよびHTTP/3の進捗具合とそのための準備 【読者が得られること】 ・Web開発者が知っておくべきHTTP/2の詳細 ・現行のHTTPからのアップグレードとトラブルシューティング ・実世界におけるケーススタディ ・次世代技術、QUICとHTTP/3について 【著者について】 ・Barry Pollard(バリー・ポラード) 20年にもなる開発経験を持つソフトウェア開発者。 開発だけではなくソフトウェアや基盤の運用にも従事しています。 Web技術やパフォーマンスチューニング、セキュリティや技術の実用的な利用方法への関心を強く持っています。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。