0

ここでの私の最初の投稿は、ここで多くのことを読んでおり、そのうちのいくつかは非常に役に立ちました. ただし、ブラウザのキャッシュに関する多くの投稿がありますが、以下の私のポイントをカバーしているようには見えません。

私は Web サイトを更新しており、(多くの人がそうであるように) ページ速度に関するこの Leverage Browser Caching の問題に遭遇しました。銃を飛ばして .htacess ファイルを変更し、何週間にもわたって古いコンテンツをユーザーに表示することに固執するよりも、半日を費やして読んだほうがいいと思いました。キャッシュ」。

.css ファイルまたは画像ファイルに変更を加え、タイム スタンプを使用した場合、それが更新されることを理解しています。ブラウザはそれを新しいアセットとして認識します。

ただし、それ自体が更新されていない.cssファイルがあるとしましょう。.cssファイル内の画像の1つが更新され、タイムスタンプなしで参照されています. ! 私は正しいですか..?

これは、.css ファイル内のすべての画像にタイム スタンプが付けられることを意味します。つまり、画像が更新されると、実際には .css ファイルも更新され、ブラウザは .css ファイルを再読み込みして画像を再読み込みします。

できる限り要点を明確にしようとして、長々とした投稿で申し訳ありません。

前もってありがとう、ゲイリー。

4

1 に答える 1

0

クライアントにファイルの更新を強制する名前の変更については正しいです。ただし、キャッシュは再帰的ではありません。キャッシュされた .css ファイルは、リンク先の画像やその他のコンテンツもキャッシュされるという意味ではありません。

たとえば、.htaccess ファイルにこれがあるとします。

<filesMatch "\.(xml|txt|js|css)$">
    Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>

ユーザーは、css ファイルを参照する index.html を要求します。css ファイルは、いくつかの背景の .jpg イメージも参照します。ユーザーが以前にページにアクセスしたことがある場合、css ファイルはキャッシュされますが、.htaccess でキャッシュとして設定されていないため、.jpg 画像は再読み込みされます。

于 2012-04-16T20:00:40.400 に答える