用語解説

Cache-Controlとは?HTML共有・AI生成サイトでの意味をやさしく解説

「Cache-Control」はHTTPレスポンスヘッダーの一つで、ブラウザやCDNがコンテンツをどれくらいの期間キャッシュしてよいかを指示します。AI生成HTMLをプレビュー共有した後にファイルを更新しても、Cache-Controlの設定次第では確認者が古いバージョンを見続けてしまうことがあります。差し替えを確実に反映させるための仕組みを理解しておきましょう。

ひとことで言うと

Cache-ControlはHTTPレスポンスヘッダーに含まれる命令で、`Cache-Control: max-age=3600`と書けば「3600秒(1時間)キャッシュしてよい」という意味になります。ブラウザはこの値を参照し、期限内であれば再度サーバーへリクエストせずにキャッシュから表示します。ページの読み込みが速くなるメリットがある一方、コンテンツを更新してもキャッシュが残っているため変更が反映されないデメリットがあります。

`no-cache`と`no-store`は混同されやすい値です。`no-cache`はキャッシュしても良いが使う前にサーバーへ確認する(条件付きリクエスト)、`no-store`はキャッシュ自体を一切保存しないという意味です。プレビュー共有では`no-store`か短いmax-ageを使うと、更新が確認者に素早く届きます。

  • 相手がログインなしで開ける状態か確認する
  • PCとスマホで最低1回ずつ表示を確認する
  • 内部情報・個人情報・不要な外部送信が残っていないか見る
  • レビュー期限と修正時の差し替え方を決めておく

HTML共有で関係する場面

ギガサイト便などのCloudflare静的配信サービスはCDNレベルのキャッシュを持ちます。HTMLを差し替えてアップロードし直した場合でも、CDNのエッジサーバーに旧バージョンが残っていると確認者には古い内容が配信されます。ファイルを差し替えた後は「キャッシュパージ」(強制削除)操作をするか、ファイル名にバージョン番号やハッシュを入れることで新鮮なコンテンツを確実に届けられます。

確認者から「更新したのに反映されていない」という報告が来た場合、最初に疑うべきはキャッシュです。確認者には「Shift+F5でスーパーリロード」するか「シークレットモードで開き直す」よう案内してください。それでも変わらない場合はCDN側のキャッシュが残っている可能性があるため、共有サービスの管理画面からキャッシュクリアを行います。

よくある誤解

「HTMLファイルを上書きすれば即座に反映される」という思い込みが最もよくある誤解です。静的ホスティングではオリジンサーバーのファイルが更新されても、CDNエッジにキャッシュが残っていれば古い内容が配信され続けます。特にmax-ageが長く設定されているサービスでは24時間以上古いバージョンが見え続けることもあります。

「Cache-Control: no-cache」を設定しておけばキャッシュされないと思われがちですが、no-cacheはキャッシュを無効化するのではなく「使う前にサーバーへ確認する」という条件付きキャッシュです。完全にキャッシュさせたくない場合は`no-store`を使います。AIが生成したHTMLのmetaタグに`<meta http-equiv="Cache-Control" content="no-cache">`がある場合も、HTTPヘッダーの設定が優先されるため効果は限定的です。

安全に使うための注意点

プレビュー共有では「確認者が常に最新版を見られること」が最重要です。HTMLのファイル名にコンテンツハッシュ(例:`index.abc123.html`)を含めて差し替えのたびにファイル名を変える方法は、CDNキャッシュを自動的に無効化できるため確実です。ただし共有URLが変わるため、確認者にURLを再送する運用が必要になります。

長期保存の画像・CSSなどの静的アセットには長いmax-ageを設定し、HTMLファイルには短いmax-age(または0)を設定するという使い分けが一般的です。AI生成サイトでは全ファイルに同じCache-Controlが適用されがちですが、ファイル種別ごとに設定を変えることでパフォーマンスとキャッシュ鮮度を両立できます。

よくある質問

HTMLを差し替えた後、確認者に強制的に最新版を見せる方法は?

最も確実なのはURLを変える方法です。ファイル名にバージョン番号を付けてアップし直すか、共有サービスの管理画面からキャッシュパージを実行してください。確認者にはシークレットモードで再アクセスするよう案内するのも有効です。

Cache-Control: no-cacheとno-storeの違いを一言で教えてください。

no-cacheは「キャッシュは保存してよいが使う前にサーバーへ有効性確認をする」、no-storeは「キャッシュ自体を一切保存しない」という違いです。完全に毎回取得させたいならno-storeを使います。

ギガサイト便でHTMLをアップロードした直後はキャッシュされますか?

Cloudflare CDNを経由するため、初回アクセス後はエッジサーバーにキャッシュされます。差し替え後に古いバージョンが見える場合は、管理画面または「Purge Cache」相当の操作で古いキャッシュを削除してください。

関連記事

「用語解説」の記事をもっと見る →