2012-06-14 14 views

答えて

8

開発目的でCtrl + RまたはCtrl + F5を使用できます。キャッシュヘッダーを送信せず、サーバーからリソースを要求し、キャッシュしません。これはハードリフレッシュと呼ばれます。

しかし、あなたは常にCache busterGoogle search for cache buster)を使用して、ユーザーにキャッシュされていないリソースを送信する場合、ユーザーは、Ctrlキー+ R/F5を使用することを期待していない

Webブラウザは、すでに彼らかどうかを判断するためのURLを使用しますリソースを知っているので、同じURLにアクセスすると、Webブラウザは彼がこのURLにアクセスしたかどうかをチェックしてから、リソースの特定のヘッダーを送信し、リソースがサーバー上で変更されたかどうかを確認できます。

キャッシュバスターは、キャッシュを破棄して常にリソースをリロードするために使用されている名前です。 URLを逮捕ここ は、キャッシュの例です。

<script type="text/javascript" src="/static/js/some.js?bust=12356"></script> 

注:これは、任意の名前ではなく「バスト」である可能性があります。

ユニークなバストを持つ良い方法は、Unixエポック時間(1.1.1970から渡された秒数、各言語にはその数を得るための関数が用意されています)です。この方法では、ブラウザは常にWebサーバーからリソースを取得します。

+0

私はあなたをdownvoteしませんでしたが、リンクは答えではありません。少なくとも "キャッシュバスター"の例を入れてください(または、それを慣れ親しんだ言葉に入れるには、ランダムに生成されたクエリ文字列を 'src'属性に添付してください。毎回再ダウンロード)。 –

+0

@FabrícioMattéあなたの評論家に感謝します!私はいつも私の自己と私の答えを改善し、私ができる限りコミュニティに還元しようとします。 Webブラウザのキャッシュとキャッシュバスターの例について基本的な理論的な説明があるように私の答えを修正しました。 –

+0

クエリーは "バスト"キャッシュに保証されていません。たとえば、IEは、ヘッダーによって明示的に禁止されていない限り、キャッシュされたコンテンツを喜んで配信し続けます。 –

関連する問題