0

セキュリティ上の理由から、いくつかの記事では「ページをキャッシュしない」ことを推奨しています。だから私は通常、私のウェブページの冒頭に以下を置きます

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: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

これは非常にうまく機能しますが、訪問者の多くは履歴ボタンを使用することを好みます。というわけで、短期間だけ許可する必要があります。次のヘッダーを使用しようとしました

header("Cache-Control: maxage=".$expires.", must-revalidate");
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');

$expiresは必要な時間です。問題は、それらのヘッダーが存在しないかのように、ページが期限切れにならないことです。どうすればこれを解決できますか?

4

1 に答える 1

1

要するに: ブラウザ履歴のキャッシュは、完全に制御することはできない別のものです。別の質問に対する完全かつ網羅的な回答があります。これは、こちらの質問にも回答しています。

HTTP 応答で no-cache と no-store の両方を使用する必要があるのはなぜですか?

于 2012-06-30T18:28:54.723 に答える