コンテンツにスキップ

5-1 棚の写し(Cache の既定)

Plan: Free費用: 0円Wrangler 4.126.0公式ドキュメント取得日 2026-08-27
窓口の棚に写しが並び、本社の付箋が貼ってある
棚に置くかは本社の付箋(Cache-Control)と既定の決まりで決まります。

よく渡す品を毎回本社(origin)から取り寄せるのは遅いので、窓口の棚に写しを置いておきます。ただ、何でも棚に置いてよいわけではありません。個人宛の書類は棚に置けません。

いま読んでいるこのサイト(Cloudflare Lab)の HTML・CSS・画像も、この決まりに従って棚に置かれたり置かれなかったりします。

ここでは、棚の役割、本社が貼る付箋、既定で置かれる物、置いておく時間の順に見ます。

Learning goals

この節でできるようになること

  • 棚(cache)が何を速くするかを説明できる
  • 本社の付箋(Cache-Control)の読み方を説明できる
  • 既定で棚に置かれる物と置かれない物を言える
  • 既定の Edge TTL の値を言える

お客さんが同じパンフレットを何度も頼むなら、毎回本社から取り寄せるより、棚の写しを渡す方が速く、本社の手間も減ります。

Cloudflare では、この棚を cache と呼びます。公式は、Cloudflare の CDN が世界中のデータセンターで content を cache し、訪問者に近い場所から返すことで速さと本社の負荷軽減を両立する、と説明しています。

実物では、お客さんが最寄りの窓口(データセンター)に来たとき、その窓口の棚に写しがあればそこから返ります。無ければ本社へ取りに行き、その写しを棚に置きます。

左は本社へ電話する遅い道、右は棚から渡す速い道
cache は近い窓口の棚から返すための写しです。

左は本社へ電話する遅い道、右は棚から渡す速い道です。棚は窓口ごとにあります。

つまり、cache は「近い窓口の棚から返す」ための写しです。

本社は写しに、「棚に置いてよい・何分まで」と書いた付箋を貼って送ってきます。付箋が「置くな」なら、窓口は棚に置きません。

Cloudflare では、この付箋を Cache-Control ヘッダと呼びます。公式は、publicmax-age が 0 より大きければ cache し、privateno-storeno-cachemax-age=0 なら cache しない、と書いています。Expires ヘッダに未来の日付があれば cache されます。

実物では、Cloudflare Lab の HTML の返事には cache-control: public, max-age=0, must-revalidate が付いていました(2026-08-27 実測)。max-age=0 なので、HTML は棚に置かれません。

本社が写しに貼った付箋に「棚に置いてよい・何分」
Cache-Control の付箋が、棚に置くかどうかを最初に決めます。

付箋の書き方で、窓口が棚に置くかどうかが決まります。max-age=0 は「置くな」の意味です。

つまり、棚に置くかどうかを最初に決めるのは、本社の付箋です。

3. 既定で置かれる物、置かれない物

Section titled “3. 既定で置かれる物、置かれない物”

付箋が無い品にも、窓口には既定の決まりがあります。パンフレットや写真は棚に置き、その場で書く手紙は置きません。

公式は、既定では約 60 種類の拡張子(JPG・PNG・GIF・PDF・JS・CSS など)を cache し、HTML と JSON は既定では cache しないと書いています。robots.txt は既定で cache されます。また、Set-Cookie が付いた返事や、GET 以外の要求は cache しません。

実物では、Cloudflare Lab の CSS や画像は拡張子で棚に置ける側に入り、HTML は入りません。HTML も棚に置きたいときは、次の 5-3 の決まり書で指定します。

既定で棚に置く

画像(JPG・PNG・GIF)、PDF、JS、CSS など約 60 種類の拡張子。robots.txt

既定で棚に置かない

HTML、JSON。Set-Cookie 付きの返事。GET 以外の要求。
棚に写真とパンフレットが並び、手書きの手紙は並ばない
既定は静的なファイルは置く、HTML は置かないです。

棚に並ぶのは写真やパンフレットの類で、その場で書く手紙(HTML)は並びません。

つまり、既定は「静的なファイルは置く、HTML は置かない」です。

棚の写しには、置いておいてよい期限があります。期限が過ぎたら捨てて、本社から取り寄せます。

Cloudflare では、窓口の棚に置く時間を Edge TTL と呼びます。公式の既定値は、返事の状態が 200・206・301 なら 120 分、302・303 なら 20 分、404・410 なら 3 分で、それ以外の状態は既定では cache しません。

実物では、付箋(max-age)があればそちらが優先され、無い品にこの既定の時間が使われます。お客さんの手元(ブラウザ)に置く時間は Browser TTL で、別の設定です。

写しごとに砂時計が付いている
既定の Edge TTL は 200 で 120 分、404 で 3 分です。

写しごとに砂時計が付いています。200 の品は 120 分、404 の「ありません」の返事も 3 分だけ棚に置かれます。

つまり、既定の Edge TTL は状態ごとに決まっていて、付箋があればそちらが勝ちます。

ここで紹介した既定が、いま読んでいる Cloudflare Lab でどう働いているかを見ます。

Cloudflare Lab は Built on Cloudflare で、Worker と Static Assets が本社の役です。公式は Static Assets を Cloudflare のネットワーク全体で自動的に cache すると書いています。一方、Worker を通した HTML の返事には max-age=0 の付箋が付いていて、棚には置かれていません(2026-08-27 実測)。次の節で、その札を実際に読みます。

  • cache は近い窓口の棚から返すための写しです。
  • 棚に置くかは Cache-Control の付箋が決め、無ければ既定の拡張子の決まりです。
  • 既定の Edge TTL は 200 で 120 分、404 で 3 分です。

この節で出てきた言葉を、つながりの順に並べると次のようになります。

図のラベル: 窓口の棚の写し cache / 本社の付箋 Cache-Control / 置いてよい public, max-age > 0 置くな no-store・max-age=0 / 既定で置く 画像・CSS・JS / 既定で置かない HTML・JSON / 置く時間 Edge TTL 200=120 分

次の節では、返事に付いた棚の札を読みます。

この節のチェック

問 1Cloudflare の cache(棚の写し)が速くする理由はどれですか?

問 2Cache-Control の付箋のうち、「棚に置いてよい」の意味になるものはどれですか?

問 3既定では棚に置かれないものはどれですか?

問 4状態 200 の返事の既定の Edge TTL はどれですか?

問 5Set-Cookie ヘッダが付いた返事はどうなりますか?

最終更新日: