726 views
この記事は最終更新から 1307日 が経過しています。
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のバージョン変更時には実現手段が変わるようなので、今後注意したい。