CDNとは、一言でいうと何?
CDN(Content Delivery Network)とは、オリジンサーバのコンテンツの複製を各地のエッジサーバに置き、利用者を近くのエッジに振り分けて配信するネットワークの仕組みです。
東京にあるオリジンサーバに全国・全世界の利用者が直接つなぐと、遠い利用者ほど往復の時間がかかり、アクセスが集中すればオリジンが重くなります。CDNは、画像・動画・スクリプトのように同じ内容を多くの人が取りに来るものをエッジに置いておき、利用者の近くで返します。
IETFのCDN相互接続の枠組み(RFC 7336、2014年8月)では、実際に利用者へ配信するサーバをサロゲート(surrogate)と呼んでいます。試験対策では「エッジサーバ」「キャッシュサーバ」という呼び方と同じものを指す、と理解しておけば十分です。

オリジンとエッジサーバは、どういう関係?
利用者が画像を1枚表示するまでの流れを、エッジに内容がある場合とない場合に分けて追います。
- 1
名前解決
端末が画像の URL のホスト名を問い合わせる
- 2
近くのエッジを返す
CDN の仕組みで、利用者に近いエッジサーバの IP アドレスが返る
- 3
エッジに要求
端末がエッジサーバに画像を要求する
- 4
キャッシュヒット
有効な複製があれば、エッジがそのまま返す(オリジンには問い合わせない)
- 5
キャッシュミス
複製がない・期限切れなら、エッジがオリジンに取りに行き、返すと同時に許されていれば保存する
キャッシュヒットの割合が高いほど、利用者は速く受け取れ、オリジンの負荷も下がる。
- 利用者の端末が、Webページに書かれた画像のURL(ホスト名)を名前解決する。
- CDNの仕組みで、利用者に近いエッジサーバのIPアドレスが返される。
- 端末がエッジサーバに画像を要求する。
- エッジに有効な複製があれば(キャッシュヒット)、エッジがそのまま返す。オリジンには問い合わせない。
- エッジに複製がない、または有効期限が切れていれば(キャッシュミス)、エッジがオリジンに取りに行き、利用者に返すと同時に、許されていれば保存する。
| 役割 | 置き場所 | 持っているもの |
|---|---|---|
| オリジンサーバ | コンテンツの提供者の側(1か所または少数) | 正本。更新はここで行う |
| エッジサーバ | 利用者に近い各地の拠点 | オリジンから取得した複製。有効期間の間だけ使う |
| 利用者の端末 | スマートフォンやPC | ブラウザのキャッシュ(その利用者専用) |
キャッシュヒットの割合が高いほど、利用者は速く受け取れ、オリジンの負荷も下がります。逆に、利用者ごとに内容が違うページ(ログイン後の画面など)は複製を共有できないため、そのままオリジンに届けるのが基本です。
DNSによる振り分けとキャッシュ制御は、どう働く?
振り分け:RFC 7336は、利用者を配信サーバに向ける方法として、同じ名前に対して異なるIPアドレスを返すDNSによる方法と、HTTPのリダイレクト(302や307の応答で別のURLを示す)による方法を挙げています。DNSによる方法は利用者から見えにくい一方、要求の中身までは見られません。
DNSには弱点もあります。名前解決を代わりに行うキャッシュDNSサーバが利用者から遠いと、CDN側は「利用者の位置」ではなく「キャッシュDNSサーバの位置」を見て判断してしまいます。これを補うため、利用者のネットワークの一部(アドレスの前半)を問い合わせに添えるEDNS Client Subnetという拡張があります(RFC 7871、2016年5月、情報提供のRFC)。
ほかに、同じIPアドレスを複数の拠点から広告し、経路上もっとも近い拠点に届けるエニーキャスト(RFC 4786)という方法もあります。
キャッシュ制御:エッジが何をどれだけの時間使ってよいかは、オリジンが応答に付けるHTTPのCache-Controlで指定します(RFC 9111、2022年6月)。
- オリジンサーバ正本を持つ。応答に Cache-Control を付けて、何をどれだけ使ってよいかを指定する
- エッジサーバs-maxage が max-age より優先される。private の応答は保存しない共有キャッシュ
- 利用者の端末max-age に従う。private の応答も残せるプライベートキャッシュ
s は shared(共有キャッシュ)の s。no-store はどこにも保存しない、no-cache は保存してよいが使う前に検証する。
| 指定 | 意味 | CDNでの効き方 |
|---|---|---|
| max-age=秒数 | その秒数の間は新しい(fresh)とみなしてよい | エッジも端末も、この時間内は問い合わせずに使える |
| s-maxage=秒数 | 共有キャッシュにだけ適用する有効期間。max-ageより優先 | エッジだけ長め(または短め)に持たせたいときに使う |
| no-cache | 保存はしてよいが、使う前に必ずオリジンに確認(検証)する | 変更がなければ304 Not Modifiedで本文の転送を省ける |
| no-store | 保存しない | エッジにも端末にも残したくない応答に使う |
| private | 特定の利用者向け。共有キャッシュは保存しない | 端末のキャッシュには残せるが、エッジには置かない |
RFC 9111は、複数の利用者で使い回すキャッシュを共有キャッシュ、1人の利用者専用のものをプライベートキャッシュと呼び分けています。CDNのエッジは共有キャッシュ、ブラウザのキャッシュはプライベートキャッシュ、と対応させると、s-maxageとprivateの意味が一度に整理できます。
モバイル2級では、どの範囲でどう問われる?
CDNは、モバイル2級の出題カテゴリ「モバイルインターネットとモバイルコンテンツ技術」に当たります。MCPCの試験ページの図では、このカテゴリの出題比率は20%です(2026年9月27日確認)。カテゴリの中でCDNが何問あるかは公表されていません。
公式テキスト(モバイルシステム技術テキスト第11版)の目次では、第9章「モバイルインターネットとコンテンツ技術」が近い範囲です。章と出題カテゴリの対応は当サイトの推定で、使っているのは目次の章名だけです。
4択での確かめられ方は公表されていないため、以下は当サイトの想定です。
- 目的を選ぶ:遅延の短縮とオリジンの負荷分散という目的を、暗号化やアプリの実行場所と取り違えないか。
- 振り分けの方法:DNSで返すアドレスを変える方法と、エッジでのキャッシュの働きを区別できるか。
- キャッシュ制御の意味:no-cacheとno-store、max-ageとs-maxageの違いを言い換えで確かめる。
- 動画配信との関係:動画を小さな断片に分けて配る方式が、CDNのキャッシュと相性がよいことを理解しているか。
動画の配信方式はHLSとMPEG-DASH、名前解決の基本はDNSの仕組みで確認できます。エッジで配信するCDNと、基地局の近くでアプリを動かすMECは、どちらも「利用者の近く」で処理しますが、目的が違います。試験全体の形式はモバイルシステム技術検定2級の概要にまとめています。
CDNで、間違えやすいのはどこ?
| 取り違えやすい記述 | 正しい整理 | 見分けるコツ |
|---|---|---|
| no-cacheはキャッシュに保存しないこと | 保存はできるが、使う前に検証が必要。保存しないのはno-store | cacheは「使い方」、storeは「保存」 |
| s-maxageはブラウザ用の有効期間 | 共有キャッシュ(CDNのエッジなど)用。max-ageより優先される | s=shared と覚える |
| CDNを使えばオリジンサーバは不要 | 正本はオリジンにあり、キャッシュミスや更新のたびに使われる | エッジが持つのは「複製」 |
| CDNは通信を暗号化するための仕組み | 目的は配信の高速化と負荷分散。暗号化はTLSの役割 | 目的を問う選択肢は役割で切る |
| DNSの振り分けは利用者の位置を正確に知っている | 既定では問い合わせてきたキャッシュDNSサーバの位置で判断する | 補う拡張がEDNS Client Subnet |
| ログイン後の画面もエッジで共有してよい | 利用者ごとに違う内容はprivateなどで共有キャッシュから外す | 「誰にでも同じ内容か」で判断 |
| CDNとMECは同じもの | CDNはコンテンツの複製を配る。MECはアプリの処理を網の近くで行う | 「配る」か「処理する」か |
確認問題1
CDNの説明として最も適切なものは?
次のうち、CDNの説明として最も適切なものを選んでください。
選択肢を準備しています。「正解と解説を見る」は先に開けます。
正解と解説を見る
正解:3。CDNはオリジンのコンテンツの複製を各地のエッジサーバに置き、利用者を近くのエッジに振り分けて配信します。
1はブラウザなどのプライベートキャッシュの説明に近く、CDNは端末の外のネットワーク上に複製を置きます。2はMEC(マルチアクセスエッジコンピューティング)の説明で、コンテンツの配信ではなく処理の場所の話です。4はTLSとサーバ証明書の説明です。
確認問題2
共有キャッシュだけに効く指定は?
HTTPのCache-Controlで、CDNのエッジのような共有キャッシュにだけ適用される有効期間を指定するものはどれでしょうか。
選択肢を準備しています。「正解と解説を見る」は先に開けます。
正解と解説を見る
正解:2。s-maxageは共有キャッシュにだけ適用され、共有キャッシュではmax-ageより優先されます(RFC 9111)。
1のmax-ageは共有キャッシュにもプライベートキャッシュにも効く有効期間です。3のno-storeは有効期間ではなく、保存そのものをしないという指定です。4のprivateは、共有キャッシュに保存させない指定で、共有キャッシュ用の期間を決めるものではありません。
確認問題3
CDNについて適切でない記述は?
CDNとHTTPのキャッシュに関する次の記述のうち、適切でないものを選んでください。
選択肢を準備しています。「正解と解説を見る」は先に開けます。
正解と解説を見る
正解:4。no-cacheは「保存してはならない」ではなく、「保存した応答を使う前にオリジンへの確認(検証)が必要」という指定です。保存を禁じるのはno-storeです。
1は適切で、RFC 7336はDNSで異なるアドレスを返す振り分けを挙げています。2も適切で、キャッシュミスのときの基本動作です。3も適切で、privateは特定の利用者向けの応答として共有キャッシュへの保存を禁じます。
確認問題を解いたら、次に何をする?
キャッシュ制御で迷った場合は、表の「CDNでの効き方」の列だけを見て、指定の名前を隠して言えるか試してください。名前と意味を往復できれば、言い換えの選択肢にも対応できます。
本番と同じ4択でほかの分野と混ぜて試すなら、モバイル2級の無料お試し20問を登録不要で解けます。出題カテゴリを参考に組んだ独自の20問で、全問に解説がついています。少数の問題のため、本番と同じ出題配分にはなりません。
続けて読むなら、DNSの仕組みで名前解決の流れを、HTTP/2とHTTP/3(QUIC)の違いで配信の土台になるプロトコルを確認できます。