2011-01-27 7 views
3

私は、ブラウザのキャッシュに関して、画像/ css/jsを更新することにどのように対処するのか興味があります。キャッシュされた画像/ css/jsの名前を変更せずに更新する

mod_expiresを使用して将来の期限切れになることは明らかですが、ファイルの名前を常に変更したくない場合は、これらのファイルをどのように更新できますか?

ブラウザ(またはプロキシ)がファイルをキャッシュしないようにするバージョン番号のクールな方法はありますか?更新された場合、新しいバージョンが表示されることをユーザーに保証しますか?

答えて

0

これを行う一般的な方法は、乱数を生成してGET/POST変数として追加することです。たとえば:あなたは、デフォルトのキャッシュ・ルールを変更しない場合

http://example.com/myfile.html?r=189818273

ちょうど私の2セント....

+1

これは、その数が毎回異なるため、キャッシュされなくなります。キャッシュに入れておきたい - ただ更新するだけでいい。 –

0

これらのすべてのリソースが更新されます。 FireBUGを使ってテストすることができます。リソースが変更されていない場合は304、変更された場合は200が返されます。したがって、ページ上にイメージがある場合は、デフォルトですべてのリクエストでチェックされます。

+1

変更されたチェックには依存することはできません。ブラウザは、期限切れヘッダーが将来あるため、チェックしないことがあります。 –

0

私は最後のファイルの変更のタイムスタンプを持つクエリ文字列パラメータを追加します。また

http://example.com/script.js?v=123456

、あなたはあなたのアプリケーション内でグローバル変数を定義し、タイムスタンプとして使用することができます。ファイルの1つを変更すると、その変数が増分されます。つまり、すべてのリソースが同時に無効になりますが、ファイルのタイムスタンプを読み取るより簡単な解決策になる可能性があります。

関連する問題