4

私がこれを知っていることから:

ExpiresByType text/html "access plus 30 days"

コンテンツを保存してから30日後に、ブラウザに新しいコンテンツのキャッシュリクエストを送信します。

しかし、次のように:

ExpiresByType text/html "modification plus 30 days"

ブラウザのキャッシュは、LAST MODIFIED HEADERの助けを借りて、30日間の変更まで新しいコンテンツを要求しないことを認識します。

だから私の質問は、それがより理にかなっているように見えるので、または私が欠けているものがあるので、なぜ常にモディフィケーションベースを使用しないのですか?

4

1 に答える 1

11

apache mod_expiresのドキュメントには次のように書かれています:

効果の違いは微妙です。Mを使用すると、すべてのキャッシュ内のドキュメントの現在のすべてのコピーが同時に期限切れになります。これは、常に同じURLにある毎週の通知などに適しています。Aを使用する場合、有効期限はクライアントごとに異なります。これは、あまり頻繁に変更されない画像ファイル、特にすべてが同じ画像を参照する一連の関連ドキュメントの場合に適しています(つまり、画像は比較的短い時間内に繰り返しアクセスされます)。

ここで、 M変更プラスAアクセスプラスです。したがって、すべてのブラウザで機能するようにキャッシュする方法が問題になっているようです。リソースのキャッシュをすべてのブラウザで同時に期限切れにしますか?または、リソースのキャッシュの有効期限をすべてのブラウザーでずらして使用しますか?特に、ここにキャッシュされているリソースのタイプに帰着します。

たとえば、ページがある場合、/live_shows.htmlそれは週に1回を除いて変更されません。このページでは、週の初めにのみ更新して、バーに表示されるすべてのライブショーを一覧表示します。使いたい"modification plus 7 days"。更新されるのは7日ごとなので、それ以上でもそれ以下でもありません。

ページに表示される画像のディレクトリがあるが、/live_shows.htmlアイコンやバナー、箇条書きのようなものであるために変更されることはめったにない場合、私は常にそれらを使用します。"access plus 30 days"次に、変更があったとしても、これらの変更の更新を取得することはそれほど重要ではないため、それらを作成したいと思います。

于 2012-09-27T17:50:26.100 に答える