我们面临的问题是,在部署我们的(Web)应用程序的新版本后,任何第一次(重新部署后)打开应用程序的用户都会看到这个页面的混乱版本。如果他按 F5(所以不是 Ctrl-F5),那么页面会重新加载,一切都很好。
我通过查看一个颜色应该是黑色但是白色的单一跨度来研究微观层面的行为。我看到浏览器只考虑来自style.css的 CSS 样式(其中颜色设置为白色)。然而,它还应该考虑history.css中的样式(其中颜色设置为黑色)。在检查器中,history.css存在(我在 HTML 头部和检查器的 CSS 列表中看到它)但它似乎被简单地忽略了。在 F5 后查看检查器,历史.css 文件被考虑在内并设置了正确的颜色。
如果这与 Wicket 有关,则应用程序在部署模式下运行,因此它MessageDigestResourceVersion
用于命名 CSS 文件。但是,它感觉不像是一个“简单”的缓存问题,因为history.css存在但被忽略了。
更新:
这不仅是重新部署后的第一次。此外,我们从来没有在我们的 DEV 或 UAT 环境中使用它,而是在我们的 STAGING 环境中始终使用它。因此,它似乎确实与某些服务器配置(WAS 7、Apache、反向代理、F5 负载平衡器、mod_security ......)有关,但现在不知道在哪里寻找......