以下のサンプルを struts 2 jquery プラグインで検討してください (ただし、これは jquery で発生する可能性があります)。
struts 2 jquery プラグインでは、head タグを設定して ajax 呼び出しをキャッシュします。
ajaxcache="true"
HTML ヘッドは次のとおりです (何もキャッシュしないでください)。
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Pragma" content="No-cache" />
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Expires" content="0" />
以下のように resonse ヘッダーを設定するインターセプターもあります。
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control",
"no-cache, no-store, must-revalidate");
response.setDateHeader("Expires", 0);
単一の js を含むサンプルの test.jsp ファイルを考えてみましょう
<script type="text/javascript" src="js/grid.js"></script>
初めて test.jsp が読み込まgrid.js
れると、ブラウザによって読み込まれてキャッシュされます。変更してgrid.js
も、ブラウザは更新されたgrid.js
ファイルを取得しなくなります。
もちろん、設定することでこの問題を修正できますajaxcache="false"
私の質問は、grid.js
が一度だけロードされ、クライアントが新しく更新された js をもう取得しない場合、ajax キャッシングの使用は何ですか?!
クライアント上のリソースを更新する必要がなく、クライアントがリソースを長期間キャッチできる実際のケースを提案できますか?!
それとも、他の方法で ajax キャッシングを使用できますか?!