2

2つのWebサイトで次のCSSルールを見ました

/* First example */
background: #F8F8F8 url('/images/noise.png?1333540701') top left;
/* Second example from a different site */
background: #F8F8F8 url('/images/noise.png?1326131369') top left; 

*.png?randomNumbersPNG画像パスの後の意味は何ですか? 彼らはここでどのような目的を果たしますか?

最初の 1 つはbastsovからのもので、もう1 つはMatt Gemmellからのものです。どちらも Octopress フレームワークを使用しています。

編集 両方のルールが同じサイトで使用されているわけではありません。各ルールは別のサイトから取得されます。

さらに、言及されるたびに、どこでも同じ番号を使用しているnoise.pngようです。例えば、

/* rule for navigation bar */
background: url('/images/noise.png?1333540701'),linear-gradient(#E0E0E0,#CCC,#B0B0B0)
/* rule for #main */
background: #F2F2F2 url('/images/noise.png?1333540701') top left;

Matt Gemmellのサイトで同じパターンを観察しましたが、数値が異なりました。

4

3 に答える 3

5

おそらくイメージをキャッシュしているため、イメージをバージョン管理する方法です。そうすれば、画像が更新された場合に、番号を変更して、キャッシュされた古い画像を取得しないようにすることができます。

于 2012-06-03T18:54:27.560 に答える
3

乱数はGET、イメージ パスに送信される要求です。画像は単なる静的リソースであるため、URL 以外のパラメーターを渡しても何も変わらないはずです。

ブラウザーはページの読み込みを高速化するために画像をキャッシュしますが、画像の URL を変更すると、ブラウザーは画像を再ダウンロードします。noise.png毎回再読み込みが必要なようです。

于 2012-06-03T18:55:10.290 に答える
3

この番号は、画像を取得するためにサーバーに送信される URL の一部にすぎません。

これを行う一般的な理由は 2 つあります。

  • サーバー上のリソースは静的ファイルではなく、コードによって処理され、数に応じて異なる画像を返します。
  • この番号はサーバーによって無視され、さまざまな URL を生成するために使用されます。これは通常、キャッシュ上の理由によるもので、番号を変更するとサーバーへの新しい要求が強制されます。

この場合、2 番目の理由の可能性が高くなります。クエリ文字列を使用してさまざまな画像を返す場合、通常、リソース名はより一般的です。

于 2012-06-03T19:01:19.097 に答える