クライアントのブラウザに、新しい Java アプレットを含む新しいバージョンの HTML ページをロードさせるにはどうすればよいですか?
現場でシステムを更新しましたが、クライアントが Web サーバーに接続したときに、(キャッシュから) 古い Java アプレットがまだ表示されていました。
クライアントがキャッシュからのバージョンではなく、新しいバージョンをロードするように (できればサーバー側から) 強制するにはどうすればよいですか?
古いシステム (アップグレード前) :
- 古い Linux バージョン (10 年以上前)
- 古い Apache Web サーバー (10 年以上前)
- 古い Java アプレット (別のクラス ファイル) (約 2 年前)
- Web サーバーのルート ディレクトリにある古い index.html (約 2 年前)
新しいシステム (アップグレード後) :
- 旧システムと同じIPアドレスとポート
- Windows XP 組み込み
- Apache/2.2.21 (win32) ウェブサーバー
- jar ファイル内の新しい Java アプレット (古いバージョンとはすべて異なるクラス名)
- Web サーバーのルート ディレクトリに新しい index.html
ユーザーは Windows XP マシンで Chrome を使用しています
ユーザーが Firefox でページをロードすると、新しい Java アプレットが表示され、問題なく動作しました。(彼は古い Java アプレットを Firefox にロードしたことはありません)
[編集]
looper から httpd.conf に行を追加してもエラーは発生しませんでしたが、それが機能するかどうかはわかりません...
クライアントのキャッシュの問題を再現できないようです。アプレットで何かを変更して別のコンピューターから再度ロードすると、何も変わりませんが、数分後に再ロードすると、新しいバージョン.. CacheDisable を使用した余分な行の有無にかかわらず
httpd.confで「キャッシュ」を検索すると、次のものがすべて見つかります。
#LoadModule cache_module modules/mod_cache.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule mem_cache_module modules/mod_mem_cache.so
キャッシュが有効になっていないようですか?
CacheDisable を単独で (IfModule なしで) 行を追加すると、Apache が起動しないため、おそらく httpd.conf が破損しますか?
[編集2]
サーバー OS、Web サーバー、Java クラス名、および index.html を除くすべてのファイル名が古いバージョンと異なるため、問題の原因はキャッシュされた index.html に違いありません。FrancescoMM の回答からメタ タグを index.html に追加しました。これにより、将来のリリースで問題が回避されることを願っています。