Java アプレット内のキャッシングにはどのような方法がありますか?
アプレットを構成する .jar は、ほとんどのブラウザでキャッシュされるようです。
- これは、アプレットが使用する依存する .jar に当てはまりますか?
- アプレットが実行時にリモート URL からリソースをロードする場合、これがブラウザによってキャッシュされないと想定するのは正しいですか? ブラウザによってキャッシュされていない場合、ローカル ストレージに書き込むことでキャッシュを実装できますか?
これは、アプレットが使用する依存する .jar に当てはまりますか?
はい、依存する JAR がキャッシュ可能であると仮定します。
アプレットが実行時にリモート URL からリソースをロードする場合、これがブラウザによってキャッシュされないと想定するのは正しいですか?
おそらくそうだ。JVM はおそらくリモート サーバーに直接接続し、ブラウザは HTTP リクエストを認識しません。さらに、JVM はおそらくブラウザのキャッシュの編成や場所を認識していません。ただし、これはすべてプラットフォームに依存します。
JVM が独自の HTTP キャッシュを実装することも可能です。私の知る限り、現在の世代の Oracle JVM はそうではありませんが、将来の世代がそうなることは考えられません。
ブラウザによってキャッシュされていない場合、ローカル ストレージに書き込むことでキャッシュを実装できますか?
アプレットが署名され、ユーザーが署名を受け入れた場合のみ。通常、アプレットはローカル ストレージを読み書きできません。
リソースのキャッシュをより適切に制御するには、次の機能を提供するJava Web Startを使用してアプレットをデプロイします。
..自動更新 (遅延ダウンロードおよびプログラムによる更新の制御を含む)。
JWS アプリであることに注意してください。JNLP APIのプログラムによる更新部分を呼び出すために信頼されている必要はありません。
How to disable http caching in applet and URLConnectionによると、プログラムでリソースをリクエストするとJavaDocキャッシングが有効になります。