setClientCache

void setClientCache(
    string $mode [, int $lifetime = 86400 ]
)

クライアント側のキャッシュ条件を設定します。

引数

$mode は、キャッシュのコントロールモードです。

Rampart::CACHE_NOキャッシュしない。
Rampart::CACHE_PUBLIC公開キャッシュ。
ブラウザだけでなく、プロキシにもキャッシュされる。
Rampart::CACHE_PRIVATEプライベートキャッシュ。
ブラウザにのみキャッシュされる。
Rampart::CACHE_PRIVATE_EXPIRERampart::CACHE_PRIVATE と同じですが、
Expires ヘッダを出力します。

$lifetime は、キャッシュの有効時間です。
秒数で指定します。

内部処理

Rampart::CACHE_NO を指定した場合は、以下のヘッダを出力します。 header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s T'));

Rampart::CACHE_NO 以外を指定した場合は、以下のヘッダを出力します。 header('Cache-Control: ' . $mode . ', max-age=' . $lifetime);
header(
      'Cache-Control: post-check=' . $lifetime
    . ', pre-check=' . $lifetime, false
);
if ($mode != Rampart::CACHE_PRIVATE) {
    header('Expires: ' . gmdate('D, d M Y H:i:s T', time() + $lifetime));
}
header('Last-Modified: ' . gmdate('D, d M Y H:i:s T'));

補足

プライベートモードでは、
Mozilla/Netscape で Expire ヘッダが送信された場合、
フォームを正しく取り扱えない場合があります。
そこで Rampart::CACHE_PRIVATE では Expire ヘッダを出力しません。

意図的に Expire ヘッダを出力したい場合に
Rampart::CACHE_PRIVATE_EXPIRE をご使用ください。

参照

マニュアル > クライアントキャッシュ