Web 配信の技術ー HTTP キャッシュ・リバースプロキシ・CDN を活用する

ウェブハイシンノギジュツ エイチティーティーピーキャッシュ リバースプロキシ シーディーエヌヲカツヨウスル

Web 配信の技術ー HTTP キャッシュ・リバースプロキシ・CDN を活用するの表紙
インターネット / WEB デザイン
著者:
田中 祥平(タナカ ショウヘイ)
出版社:
技術評論社
出版日:
2021年02月13日頃
ISBN:
9784297119256
在庫:
在庫あり
0
中級者向け
HTTPキャッシュリバースプロキシCDNWeb 開発パフォーマンス最適化セキュリティAPIネットワークシステム設計

なぜ注目されているか

総合2136位

書籍紹介

HTTP キャッシュ、リバースプロキシ、CDN など Web 開発で大切な「配信」の技術。
重要な技術ながら、現場では知見のあるエンジニアが少なく、なんとなくで運用されていたり、導入が遅れていたりします。

本書では、HTTP キャッシュの基礎から解説し、一冊でしっかり配信が学べます。

速くて落ちない Web サイト / Web サービス / Web API の実現はもちろん。キャッシュ事故やセキュリティ上の問題を防ぐのにも役立ちます。

技書の森解説

『Web 配信の技術ー HTTP キャッシュ・リバースプロキシ・CDN を活用する』 (田中祥平 著、技術評論社、2021 年 2 月刊) は、HTTP キャッシュ、リバースプロキシ、CDN という Web の配信を支える技術を、HTTP キャッシュの基礎から順に積み上げて解説する技術書です。版元は、配信は重要な技術でありながら現場では知見のあるエンジニアが少なく、なんとなくで運用されていたり導入が遅れていたりすると紹介し、速くて落ちない Web サイトや Web API の実現に加えて、キャッシュ事故やセキュリティ上の問題を防ぐのにも役立つ本としています。薦める相手は、CDN やリバースプロキシの導入に興味のあるアプリケーションエンジニアとインフラエンジニア、配信技術を学びたいインフラエンジニア、Web サービスを高速化させたいフロントエンドエンジニアです。国立国会図書館の書誌では文献ありと索引ありと記録されています。

全 7 章の構成、配信の経路から自作 CDN まで

第 1 章「はじめに」で本書の対象と目的、構成、下準備を示したあと、第 2 章「配信の基礎」は、ブラウザーで Web ページを表示するまでの経路、配信経路の最適化とクライアントとサーバーでの最適化、キャッシュの格納場所による分類、private と shared のキャッシュを扱います。第 3 章「HTTP ヘッダ・設定とコンテンツの見直し」は、HTTP メッセージ、ステータスコード、Cache-Control による保存方法と使われ方と期限の指定、Range と条件付きリクエスト、Vary を RFC の節番号を添えて説明し、ヘッダクレンジング、圧縮転送、画像のサイズとフォーマットの見直しまで進みます。第 4 章「キャッシュによる負荷対策」はキャッシュ事故の防ぎ方、キャッシュキーの戦略、TTL の決め方、キャッシュの消去を扱い、第 5 章「より効果的・大規模な配信とキャッシュ」は Proxy と CDN の処理の段階、動的コンテンツのキャッシュ、Edge Side Includes (ESI)、多段 Proxy、ヘルスチェック、ドメインの分割を取り上げます。第 6 章「CDN を活用する」は CDN の選び方、使うときの注意点、障害の切り分け、設定例を、第 7 章「自作 CDN (DIY-CDN)」は低予算の自作 CDN の構成、外部 CDN とのハイブリッド構成、VCL での設定例を扱います。巻末の Appendix「Varnish について」は、Varnish のインストール、VCL の基本と記述の注意点、varnishtest によるテスト、ログの絞り込み、varnishstat などのツールをまとめています。

private と shared の区別とキャッシュ事故

キャッシュには、利用者のブラウザーの中にだけ置かれるものと、経路上の Proxy やサーバー側に置かれて多くの利用者で共有されるものがあります。HTTP キャッシュ の振る舞いは応答の Cache-Control などのヘッダーで指示し、private を付けた応答は利用者のブラウザーだけが保存でき、s-maxage のような共有キャッシュ向けの指定は経路上での保存の期間を決めます。ログイン後の画面のように利用者ごとに中身が変わる応答を共有キャッシュに保存させると、次に来た別の利用者に同じ応答が返り、ある人の情報が他人の画面に表示されます。本書は第 4 章で、中間の Proxy や CDN を信頼しすぎる場合と、オリジンを信頼しすぎる場合とに分けてキャッシュ事故の防ぎ方を説明しています。

リバースプロキシと CDN が応答を返すまでの段階

リバースプロキシ は利用者とオリジンのサーバーの間に立ち、手元のキャッシュで応えられるリクエストにはオリジンへ問い合わせずに応答し、応えられないものはオリジンから取得して保存します。同じ仕組みを各地の拠点に置き、利用者の近くから応答するのが CDN です。どちらの振る舞いも、どのリクエストを同じ応答とみなすかを決めるキャッシュキーと、どれだけの期間保存するかを決める TTL と、古くなった内容を取り除く キャッシュの無効化 の組み合わせで決まります。本書の第 5 章は、Proxy と CDN の処理を、クライアントからのリクエストの受信 (RxReq)、キャッシュヒットの判定 (Cache lookup)、キャッシュができるまでの待機 (Wait for cache)、オリジンへのリクエストの送信 (TxReq)、オリジンからのレスポンスの受信 (RxResp)、クライアントへのレスポンスの送信 (TxResp) の段階に分け、段階ごとにできる操作を整理しています。

RFC 9111 への改定と Varnish の設定例

本書は HTTP の仕様を、RFC 7230 から RFC 7234 の節番号を添えて説明しています。このうち HTTP のキャッシュを定めた RFC 7234 は、2022 年 6 月に公開された RFC 9111 によって置き換えられています。第 7 章には Varnish の設定言語である VCL での設定例の節があり、巻末の Appendix も Varnish を扱っています。著者の田中祥平は、GREE で配信周りを引き受けるエンジニアで、配信全体に強く、特に Varnish に詳しいと版元のプロフィールにあります。本書は、配信の経路とキャッシュの基礎から、HTTP ヘッダーの見直し、負荷対策、大規模な配信、CDN の活用、自作 CDN までを全 7 章と Appendix に収めています。

この本は技書デッキのカードです (備え 4 / 流儀: 引いたら備え) 図鑑でこの本を見る

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: