Cloudflare は、Edge Cache TTL のキャッシュルール がヘッダーを上書きしない限り、次の順でオリジン Web サーバーのキャッシュヘッダーを尊重します。デフォルト TTL の動作は Edge TTL を参照してください。
- Cloudflare は次の場合、リソースを キャッシュしません。
Cache-Controlヘッダーがprivate、no-store、no-cache、またはmax-age=0に設定されている。- Set-Cookie ヘッダー が存在する。
- HTTP リクエストメソッドが
GET以外である。
- Cloudflare は次の場合、リソースを キャッシュします。
Cache-Controlヘッダーがpublicで、max-ageが 0 より大きい。Expiresヘッダーが将来の日付に設定されている。
Enterprise のウェブサイトで Origin Cache Control を有効にすると、Cloudflare はオリジンサーバーから受け取った Cache-Control ディレクティブを厳密に尊重します。Free、Pro、Business のお客様では、この機能はデフォルトで有効です。Origin Cache-Control の有効時と無効時のディレクティブと動作の一覧は、Cache-Control ディレクティブ を参照してください。
クライアントは HTTP Range ヘッダーでファイルの一部を要求できます。Cloudflare は、完全または部分的にキャッシュされたファイルからこれらのリクエストに応答できます。応答の動作は、リクエストメソッド、Range 構文、条件付きヘッダー、コンテンツエンコーディング、キャッシュ対象かどうかに依存します。
完全な応答とオリジン要件は Range リクエストの動作 を参照してください。
同じアセットに対する複数のリクエストが、キャッシュにない状態(キャッシュミス)で 1 つの Cloudflare データセンターに同時に到着すると、Cloudflare は cache lock を使い、オリジンへの重複リクエストを避けます。最初のリクエストだけがオリジンへ転送され、アセットを取得します。残りのリクエストは最初のリクエストの完了を待ち、その後応答が待機中のすべてのリクエストへ ストリーミング ↗ されます。
cache lock により、Cloudflare ネットワーク上の 1 拠点から、あるアセットについてオリジンへ一度に送るリクエストは 1 件だけになり、オリジンが過剰なトラフィックを受け取るのを防ぎます。
Cloudflare は MIME タイプではなくファイル拡張子に基づいてキャッシュします。Cloudflare CDN は、HTML と JSON をデフォルトではキャッシュしません。一方、ウェブサイトの robots.txt はデフォルトでキャッシュします。
| 7Z | CSV | GIF | MIDI | PNG | TIF | ZIP |
| AVI | DOC | GZ | MKV | PPT | TIFF | ZST |
| AVIF | DOCX | ICO | MP3 | PPTX | TTF | |
| APK | DMG | ISO | MP4 | PS | WEBM | |
| BIN | EJS | JAR | OGG | RAR | WEBP | |
| BMP | EOT | JPG | OTF | SVG | WOFF | |
| BZ2 | EPS | JPEG | SVGZ | WOFF2 | ||
| CLASS | EXE | JS | PICT | SWF | XLS | |
| CSS | FLAC | MID | PLS | TAR | XLSX |
追加コンテンツをキャッシュするには、Cache Rules で、すべてをキャッシュするルールを作成します。
デフォルトでは、cache-control ディレクティブまたは expires レスポンスヘッダーがない場合、Cloudflare は特定の HTTP レスポンスコードを次の Edge Cache TTL でキャッシュします。
| HTTP ステータスコード | デフォルト TTL |
|---|---|
| 200, 206, 301 | 120m |
| 302, 303 | 20m |
| 404, 410 | 3m |
その他のステータスコードは、デフォルトではキャッシュされません。
Cloudflare の CDN には、いくつかのキャッシュカスタマイズオプションがあります。
- Cache Rules による個別 URL のキャッシュ動作
- Cloudflare Workers によるキャッシュのカスタマイズ
- Cloudflare dashboard の Caching ページで、キャッシュレベル、キャッシュ TTL などを調整:
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| 可用性 | あり | あり | あり | あり |
| 最大アップロードサイズ | 100 MB | 100 MB | 200 MB | 最大 5 GB |
お客様はゾーンの Network ページから Maximum Upload Size を調整できます。Enterprise のお客様は、最大 5 GB までセルフサービスで値を設定できます。5 GB を超えるアップロードには追加設定が必要です。アカウントチームまたは Cloudflare Support へ連絡してください。
より大きなアップロードが必要な場合は、リクエストを小さなチャンクに分けるか、DNS-only(プロキシなし)の DNS レコード 経由でリソース全体をアップロードするか、プランをアップグレード します。
Cloudflare のキャッシュ可能なファイル制限:
- Free、Pro、Business のお客様は 512 MB が上限です。
- Enterprise のお客様のデフォルトの最大キャッシュ可能ファイルサイズは 5 GB です。上限の引き上げは、アカウントチームまたは Cloudflare Support へ連絡してください。
訪問者と Cloudflare の間の接続状態は状況によって異なり、コンテンツをキャッシュするかどうかに影響します。Cloudflare がすでにオリジンへの接続を確立し、コンテンツの取得を開始している場合、訪問者が途中で切断しても、コンテンツ全体の取得とキャッシュを続けます。一方、オリジンが Cloudflare のリクエストに応答する前に訪問者が切断した場合、まだコンテンツを取得していないため、Cloudflare はキャッシュを開始しません。