リソースのような静的ファイル.js
は、通常、ブラウザーによって長期間 (1 年間) キャッシュされるように構成されています。キャッシュ内のリソースを使用することで、ユーザーは読み込み時間が大幅に短縮されます。
難問は次のとおりです。ユーザーがキャッシュに私の JavaScript ファイルを持っている場合、更新されたファイルがすべてのユーザーによって一度に使用されることをどのように保証しますか?
クエリ文字列パラメーターを入力します。?v=125
識別子であり、おそらく何らかのバージョン番号です。リソースが変更されて解放されると、この番号 (または文字列) は新しい未使用の値に変更されます。リソース名に追加されたパラメータにより、リソースはキャッシュによって真新しいファイルのように処理されます。そのため、ユーザーがキャッシュを持っていscript.js
たりscript.js?v=124
、キャッシュに入れていたりしscript.js?v=125
ても、最新かつ最高のコードがすべてサーバーから直接読み込まれます。
受け入れられた回答には奇妙なフレーズが含まれています。「ブラウザのキャッシュが壊れる」というのは危険です。これは文字通り起こることではないので大丈夫です。キャッシュは問題ありません。実際、古い?v=124
ファイルはまだそこにあります。一意のリソース命名スキームは、無害なキャッシュ ミスを引き起こすだけです。