2011-08-12 9 views

答えて

6

単純なキャッシュ制御機構です。

新しいバージョンのPrototypeをインストールすると、その番号が変更され、ブラウザは新しいバージョンを確実にダウンロードします。

(理論的には、HTTPヘッダーを使用してキャッシュを制御できますが、現実世界ではさまざまなブラウザ、キャッシュ、プロキシなどがあり、すべてが微妙に異なる方法で動作します。リソースが変更されるとリソースの新しいバージョンが使用されることを保証します)。

+1

他の人の言い訳に加えて、この場合はUNIXのタイムスタンプです。将来は、チェックサムになります(Rails 3.1はMD5を使用します)。重要な違いは、ファイルが再保存されても、コンテンツが変更されない場合でも訪問者が再びダウンロードしないことです。それは指紋と呼ばれ、[Railsはなぜそれが使われているかを説明するガイドがあります](http://ryanbigg.com/guides/asset_pipeline.html#what-is-fingerprinting-and-why-should-i-care)。 (タイムスタンプの付いたクエリ文字列の使用についての警告にも注意してください)。 – brymck

1

静的ファイルに追加される余分なクエリ文字列は、静的ファイルをキャッシュしないRailsの方法の一部ですそれを頻繁に変更してください。追加されるハッシュは、一種の指紋です。そのファイル内の何かが変更された場合、そのハッシュは変更されます。

さらに詳しい情報はthisをご覧ください。

1

Unixタイムスタンプ(Mon、02 May 2011 09:44:23 GMT)のようです。これは、要求時間またはファイル作成時間のいずれかになります。タイムスタンプを追加する理由は、ブラウザに簡単にファイルを再度取得させることができるようにするためです。数値シーケンスが変更された場合は、別のリクエストとみなされ、ブラウザは単にファイルを再フェッチします。これにより、ファイルが変更されたときのキャッシュの問題が防止されます。

関連する問題