4

私はそれをたくさん見てきましたが、それが何を意味するのかわかりません。これは、例えば:

<script src="http://server.com/file.js?y=2345678" type="text/javascript"></script>

javascriptファイルで「y」の値を「キャッチ」することが実際に可能である場合、それはどのようになりますか?

ありがとうございました。

PS。私はmod_rewriteが何であるかを知っていますが、万が一の場合に備えて、それは答えではありません:)

4

3 に答える 3

5

これは、静的ファイルではなくgetパラメーターを持つ動的ファイルであるとブラウザに信じ込ませることにより、ファイルをキャッシュしないように強制するためです。

于 2012-09-27T06:18:47.493 に答える
2

これは、JSファイルのキャッシュを容易にするためによく使用されます。遠い将来のExpiresヘッダーを設定します。これは、ブラウザが非常に長い間それをキャッシュする可能性があることを意味します。ファイル内の何かを変更した場合は、クエリ文字列の番号も更新します。これにより、ブラウザはファイルを再フェッチします。これが機能するのは、キャッシュが一意のファイル名用であり、クエリ文字列がファイル名の一部であるためです(ブラウザに関する限り)。

これと同様のアプローチは、Webサーバーで書き換えルールを使用して、ファイル名の一部を気にしないようにすることです。これが私が何を意味するかを示すためのNginxルールです:

rewrite ^/style\..*\.css$ /style.css;

このルールを使用してstyle.42750cad6.css、常にファイルを指すのようなファイル名を設定しますstyle.css。変更するたびに中央のテキストが変更されますstyle.css。最初のアプローチの違いは、これはクエリ文字列を使用しないため、より多くのブラウザでキャッシュが機能することです。

于 2012-09-27T06:19:42.580 に答える
1

わかりました、私はそれを2つの方法で見ています。

  1. キャッシュせずにjsをロードするために使用できます
  2. サーバーへのすべてのリクエストに対して、サーバーは情報をログに記録する可能性があります(ログが有効になっている場合)。分析に使用している場合は、場所に別のパラメーターを使用でき、ログから必要な詳細を分析して取得できます。
于 2012-09-27T06:28:00.320 に答える