Cache-Control ヘッダービルダーとは
Cache-Control HTTPヘッダーはブラウザやCDNがリソースを保持してから新しいコピーを取得するまでの期間を指示します。正しく設定することで再訪問者のページ速度が向上し不必要なリクエストが削減されます。キャッシュヘッダーがない場合や過度に積極的な設定はデプロイ後にユーザーが古いコンテンツを見る一般的な原因です。
クイックアンサー
Cache-Control HTTPヘッダーを使用してブラウザとCDNがリソースを再検証する前に保持する期間を指示します。静的サイトの場合:フィンガープリント付きCSS/JSにはpublic, max-age=31536000, immutable、HTMLにはpublic, max-age=0, must-revalidate、機密ページにはno-storeを使用します。
Last updated: 2026-05-28
制限事項
- GitHub PagesはカスタムCache-Controlヘッダーをサポートしていません。ETagとLast-Modifiedのみが自動的に提供されます。カスタムキャッシュルールには前段にCloudflareまたは別のCDNを使用してください。
- immutableディレクティブは公式のRFC標準ではありませんが最新のブラウザとCDNで広くサポートされています。非常に古いHTTP/1.1プロキシはこれを無視する可能性があります。
- Cache-Controlがno-storeを指定していてもブラウザはオフライン時やバックフォワードキャッシュ時にコンテンツをキャッシュする場合があります。Cache-Controlはヒントであり保証ではありません。
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
使い方
- コンテンツに一致するリソースタイプを選択します。静的HTML、フィンガープリント付きCSS/JS、画像、フィード、プライベートページ、no-storeです。
- 必要に応じてホスティングプラットフォームを選択して具体的なデプロイのヒントを表示します。
- Cache-Controlヘッダー値をコピーしてサーバー設定、CDNルール、またはホスティングプラットフォームのヘッダーファイルに追加します。
主な用途
- コンテンツハッシュファイル名を持つフィンガープリント付きCSSおよびJSファイルに積極的なキャッシュを設定します。
- 認証ページ、チェックアウトフロー、機密ユーザーデータのキャッシュを防止します。
- フィードとサイトマップの鮮度を設定し過剰なリクエストなしでクローラーが最新のコンテンツを取得できるようにします。