0

昨日、PHPで生成されたページを正しくキャッシュすることに真剣に取り組んでいます(「コメント付きの記事」を考えてみてください)。大失敗。

簡単に言うと、ETagヘッダーを設定し、Last-Modifiedヘッダーを設定し、Articleブラウザのすべてのリクエストをサーバー側でチェックして304を返送できるかどうかを確認します。

問題は単純です。ブラウザ(これまでのところFF 3で試しました)は、1回または2回リロードした後、突然ページの鮮度のチェックを停止し、キャッシュされたコピーを使用します。

私が理解したことについては、ETagとLast-Modifiedを使用して、ブラウザーはすべてのリクエストでサーバーに確認する必要があります(そうでない場合、なぜETagを使用する必要があるのですか?)。

Cache-ControlまたはExpiresでも遊んでみました...何もありません。どういうわけか、ブラウザはチェックを停止するか、ETagを送り返しません...

私は本当にイライラしています...誰かがこのことを整理したことがありますか?

4

2 に答える 2

3

ブラウザの再検証が必要な場合は、常に「有効期限」を設定する必要があります。

Firefox3 の do チェックは "Expires" ヘッダーに基づいています。欠落している場合、firefox3 はパフォーマンスのために有効期限を設定します。

参照、firefox と ie キャッシュの違い

于 2008-11-28T18:58:35.607 に答える
-2

現在の FF キャッシュ エントリは次の場所で検査できます。

about:cache

これにより、FF が各キャッシュ エントリに保存した有効期限が表示されます。

于 2008-12-02T15:01:43.697 に答える