我遇到了一些我无法调试的奇怪问题。
我们的应用程序服务器需要停机时间,因此我们为我们的网站构建了临时xhtml页面,这将提供临时服务器关闭的消息。我们的计划是在停机期间,我们将原始index.xhtml页面重命名为index-original.xhtml和downtime.xhtml到index.xhtml。因此,在停机期间,我们可以显示网站临时不可用页面。我们将在停机时间结束后还原这些更改
现在,当我们测试这个重命名的东西时,我们发现即使将停机时间页面重命名为index.xhtml并保留原始索引页面,浏览器仍然在加载原始索引页面。我们在登录过滤器中使用以下代码禁用了缓存。
res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
res.setHeader("Pragma", "no-cache"); // HTTP 1.0.
res.setDateHeader("Expires", 0); // Proxies.
res.setHeader("Access-Control-Allow-Origin", "*");
我从服务器日志中发现的是,请求正在命中服务器,但不知何故浏览器仍然显示旧页面。当我检查浏览器的开发人员工具时,我发现该页面没有从缓存中加载,而是来自服务器。但不知何故,服务器在重命名后返回旧页面
重启一台服务器后,重命名的停机时间页面就会显示出来。
当我们希望在停机时间结束后恢复原始主页页面时,需要重新启动相同的服务器。
我担心的是,为什么重命名服务器需要重启服务器?当请求到达服务器时,它不应该直接加载重命名的文件。
我在Chrome开发人员工具中偶尔会收到以下消息
文档是从带有清单https://www.google.co.in/_/chrome/newtab/manifest?espv=2&ie=UTF-8
应用程序缓存检查事件
应用程序缓存NoUpdate事件
但是在开发人员工具的网络部分,它没有显示从缓存加载页面。
我在这里非常困惑,因为我是初级开发人员。