phpをブラウザで実行した時に。。。。
どうしてもキャッシュさせたくない!スピードは落ちるけど最新を見せたい!
そんな場合は
<?php header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); ?>
レスポンスヘッダにこのような設定をしておくことで実現できる。
- Expires:⇛満了日。キャッシュ有効な日付を超えていることをブラウザに伝えて新しいファイルを取り込むように設定
- Last-Modified:⇛更新日。本日日付を入れることで常に更新しているようにブラウザに判定させるよう設定
- Cache-Control:⇛キャッシュに関する動きを設定。各パラメータの意味は細かくは書きませんが。。。
- Pragma:⇛汎用的に全ての拡張子に対して設定できるオプション。
まあ、最後だけでいいように見えますが、既にキャッシュ済みの場合はその情報も読まないわけで。。。
1回キャッシュしたあとは上の2つの情報でキャッシュされないように制御をしているのが大元なのかな?
Pragma:はブラウザによって多少挙動が違う可能性もあるみたいです。