0

私は次のPHPスクリプト(たとえば、cache.php)を持っています:

<?php
 Header("Cache-Control: public");

 $offset = 60 * 60 * 24 * 3;
 $ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
 Header($ExpStr);

 echo "Hello world";
?>

私の理解では、これにより、ブラウザは、最初にアクセスしたときに出力のキャッシュバージョンを保存し、サーバーにリクエストを送信することなく、このバージョンを次の3日間提供する必要があります。残念ながら、これは当てはまりません(apache 2.2を使用)。誰かが役立つ洞察を持っていますか?(もちろん、PHPスクリプトで304ヘッダーを強制することはできますが、必須ではありません)

ありがとう

4

1 に答える 1

1

私のせいは、F5キーを押してキャッシュが発生するかどうかを確認することだったようです。これは、(画像やcssなどの他のリソースとは異なり)保存されているエントリを表示するのではなく、サーバーから新しいエントリを明示的にフェッチします。キャッシュをチェックするには、問題のページへのリンクを(別のページに)保持し、キャッシュされたページが提供されているかどうかをチェックする必要があります。

ちなみに、phpページがセッションを使用している場合、session.cache.limiterはキャッシュにも影響します。

于 2012-09-19T11:51:22.390 に答える