(103) キャッシュを無効化して常に最新ページを表示させたい。

投稿者: | 2021年3月5日

1. やりたいこと

WEBブラウザがキャッシュに情報を保持するのを禁止し、
常に最新の情報をサーバーから取得したい!

今回、以下のような WEBサイトを作成時にそれが必要になった。
1) 画像が 1枚も無い、テキストだけのページだ。
2) 閲覧する情報は、数十秒ごとに更新されている。

よって…
キャッシュを無効化し、常に最新情報をダウンロードさせたい
で実装したいと思った。

2. やってみる

こちらの情報が参考になった。
https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Cache-Control

HTTPヘッダで、以下のようにキャッシュ無効化を指定すればよいそうだ。

Cache-Control: no-store, max-age=0
no-storeキャッシュを使用するな。
max-age有効期限0 → 過去にキャッシュされたものが必ず無効になる。

と思ったが…
以下の記述を読むと、max-age=0 は暗黙で適用されるとのことなので、これは記述不要のようだ。

よって…
以下のように書けばよい。

Cache-Control: no-store

(1) PHPで HTTPヘッダ出力

PHPでプログラムを書く場合、以下のようにすればよい。

header('Cache-Control: no-store');

常に最新データをダウンロードさせたいページでは、
ページ先頭(=HTMLタグ等のページデータの出力前)にこれを書くこと。

3. 所感

・HTTPのバージョン変更時には実現手段が変わるようなので、今後注意したい。


カテゴリー: HTTP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)