1

JavaScript および CSS ファイルをキャッシュする最良の方法を決定しようとしています。

これにはいくつかの方法があります。

  1. DateExpiresおよびCache-Controlヘッダーの使用
  2. ETagヘッダーの使用
  3. 永久にキャッシュし、ファイルが変更されたときにファイル名を変更する
  4. HTML のファイル名にクエリ文字列を追加し、最終更新時刻またはファイル コンテンツの MD5 を追加します。

最後の方法 (4) が最も信頼性が高く、不要なリクエストが最も少ないという印象を受けましたが、友人は、クエリ文字列の方法が信頼できない場合があり、実際にはファイル名を変更する必要があると教えてくれました。

HTTP ヘッダーを永久にキャッシュするように設定し、最後の mod 時間でクエリ文字列を使用することの欠点はありますか、または別の方法がより有益なシナリオはありますか?

4

2 に答える 2

1

3 番目の方法が最も信頼できます。一部の CDN/プロキシはクエリ文字列を完全に無視し、クエリ文字列の値に関係なく同じキャッシュ ファイルを提供します

AmazonAzureはそれをサポートしていますが、他のものはサポートしていない可能性があります。

方法 3 では、実際にファイル名自体を更新する必要がないことに注意してください。URL 書き換えを使用するだけで、常に同じファイルを取得できます。HTML を更新するだけです。

于 2013-01-24T04:32:43.007 に答える
1

私は方法 4 の大ファンですが、セッション ID を使用します。そのため、私の Web サイトにアクセスしたユーザーは、セッションごとに 1 回読み込まれます (通常、訪問者が 20 分以上非アクティブな状態を維持したり、ブラウザー ウィンドウを閉じたりすると、セッションは終了します)。

Asp.net では、次の構文を使用します。

<script src="js/DetalhesCurso.js?<%=Session.SessionID%>"></script>
于 2013-01-24T04:32:26.267 に答える