如何使客户端的浏览器使用新的 Java 小程序加载新版本的 html 页面?
我们在现场更新了一个系统,但是当客户端连接到 Web 服务器时,仍然显示旧的 Java 小程序(来自缓存)。
如何强制(最好从服务器端)客户端加载新版本,而不是从它的缓存中加载新版本?
旧系统(升级前):
- 老linux版本(10年以上)
- 旧的 apache 网络服务器(超过 10 年)
- 旧的java小程序(单独的类文件)(大约2岁)
- 网络服务器根目录中的旧 index.html(大约 2 岁)
新系统(升级后):
- 与旧系统相同的 IP 地址和端口
- windows xp 嵌入式
- apache/2.2.21 (win32) 网络服务器
- jar 文件中的新 Java 小程序(与旧版本不同的类名)
- 网络服务器根目录中的新 index.html
用户在 Windows XP 机器上使用 Chrome
当用户在 Firefox 中加载页面时,新的 java 小程序显示出来并且可以完美运行。(他从来没有在 Firefox 中加载过旧的 java 小程序)
[编辑]
将 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]
由于服务器操作系统、web服务器、java类名以及除index.html之外的所有文件名都与旧版本不同,因此问题的原因一定是缓存的index.html。我将 FrancescoMM 的回答中的元标记添加到我的 index.html 中,希望这能防止未来版本出现问题