Web配信の技術 ―HTTPキャッシュ・リバースプロキシ・CDNを活用する
サポートページ
ダウンロード
サンプルファイルのダウンロード
本書のサンプルファイルをご利用いただけます。
- ダウンロード
- サンプルファイル
補足情報
7章のCloudflareに関する情報について
(2023年5月26日更新)
Cloudflareの無料プランでは多段構成はできません。ヒット率を稼ぐためにも自社配信での多段構成は必須です。
https://blog.cloudflare.com/orpheus/
Cloudflareの多段構成(Tiered Caching)は元々有料機能でしたが,2021/09に無料で開放されました。有用な機能ですので有効にするのをお勧めします。
また,サイトのドメインとは別にCDN用のドメイン切り出して運用することを例としておりますが
https://www.cloudflare.com/service-specific-terms-application-services/
こちらの「Content Delivery Network (Free, Pro, or Business)」で触れられているようにあくまでもWebページ・サイトをキャッシュして利用することを想定しています。
そのため,恒久的にCloudflareを使う場合は,サイト側もCloudflareを通す必要があります。
(以下2021年4月21日更新)
P.69 3.3.1 代表的なステータスコード中の308に関する補足
リダイレクトで利用するステータス308はRFC7538で定義されています。
P.88 3.5.2のno-cacheに関する説明文の補足
書籍中ではほとんどない,見かけたことがないとしたno-cacheの引数について補足します。
CloudFrontはno-cache="param"の記法に対応しています。 https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/Cookies.html を参照してください。
P.94 3.6.5のs-maxageとmaxageの設定に関する言及の補足
3.6.5でs-maxageはmax-ageより小さくすべきと記載しましたが,意図してCDNなどではキャッシュを行いクライアントではキャッシュを行わない場合はs-maxage=3600, max-age=0といった設定をすることがあります。
この効果は「5.10.3 ローカルキャッシュがある状態で即時のコンテンツ更新」で触れたCDNではキャッシュを行いクライアントにはno-cacheを返すときとほぼ同等の効果が得られます。no-cacheだとCDN側でレスポンスヘッダの改変が必要ですが,s-maxage=3600, max-age=0だとCDN側での改変なしでも設定が可能ですので環境に応じて使うのが良いでしょう。
P.333 6.6.4で紹介したWeb are socialのレポートに関する補足
We are socialのレポートは毎年更新されており,2021年版によると平均ダウンロード速度は固定回線が96.43Mbpsでモバイルが42.70Mbpsと書籍中で触れた2019年当時のデータ(固定54.3Mbps/モバイル25.1Mbps)よりかなり向上しています。
お詫びと訂正(正誤表)
本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。
(2022年4月19日最終更新)
P.2 1.1の説明文中の記述
誤 | スマーフォン |
---|---|
正 | スマートフォン |
P.3 1.1のサーバーのリクエストに関する文言
誤 | クライアント(閲覧者)が増えればサーバーへのリクエスト増えていきます。 |
---|---|
正 | クライアント(閲覧者)が増えればサーバーへのリクエストも増えていきます。 |
P.4 1.1の図1.4下の説明
誤 | ProxyやCDNがキャッシュとクライアントの間に入り、代わりに |
---|---|
正 | ProxyやCDNがサーバーとクライアントの間に入り、代わりに |
(以下2021年4月5日更新)
P.11 2.1の脚注2
誤 | VTuebr |
---|---|
正 | VTuber |
P.88 3.5.2のno-cacheに関する説明文
誤 | 仕様上no-cacheは引数を持つことがありますが、実用されておらず、筆者は見かけたことはありません。 |
---|---|
正 | 仕様上、no-cacheは引数を持つことがあります。ただし、筆者の知る限りでは実装はほとんどありません。 |
P.100 3.10.2の見出しの文言
誤 | 条件付きリクエスト(If-Modified-Sice/If-None-Match)―RFC 7232 |
---|---|
正 | 条件付きリクエスト(If-Modified-Since/If-None-Match)―RFC 7232 |
P.208 第5章のコラム「キャッシュアルゴリズム」内のLFRUの表記
誤 | LFRU(Least frequent recently used)などもあります。 |
---|---|
正 | LFRU(Least Frequently Recently Used)などもあります。 |
P.252 5.12.4の識別子の説明
誤 | その際にEtagや |
---|---|
正 | その際にETagや |
P.284 5.16.2の静的ファイルでのチェック箇所
誤 |
LProxy←→App間のネットワーク Appのネットワークの状態 |
---|---|
正 |
Proxy←→Appサーバー間のネットワーク Appサーバーのネットワークの状態 |
P.304 第6章のコラム「ネットワークの品質が良いということはどういうことか」の見出し文言
誤 | コラム ネットワークの品質が良いということはどういうことか |
---|---|
正 | ネットワークの品質が良いということはどういうことか |
本来は不要な「コラム」の文字が入っていました。
P414 A.5.1のエスケープの説明
誤 | ところが、VCLでは「」でのエスケープには対応していないため通りません。 |
---|---|
正 | ところが、VCLでは「\」でのエスケープには対応していないため通りません。 |
P.418 A.6の脚注47のドキュメントのURL
誤 | https://github.com/varnish/varnish-modules/blob/master/src/vmod_header.vcc |
---|---|
正 | https://github.com/varnish/varnish-modules/blob/0.17.0/src/vmod_header.vcc |
URL中のバージョン指定が一部誤っていました。