我的网站完全由动态数据构成,其中一些会根据用户身份验证而变化。当用户“登录”到站点时,我会在页面导航栏中显示他们的新状态以及他们的用户名。然而,当他们访问他们最近在验证之前访问过的页面(后退按钮等)时,该页面的导航栏版本将不会刷新。强制刷新页面到浏览器的方法有哪些?反之亦然:如果用户注销,最近的页面仍会显示已通过缓存版本的身份验证。
我可以使用什么技术始终在网站上的任何页面上强制执行浏览器端刷新/清除缓存?
谢谢。
注意:服务器端我正在使用 eXist-db 4.7 的 login:set-user()
通过 Controller 验证用户(即“登录”)。
最佳答案
我为您的问题找到的最佳来源是以下博客文章,它以我什至可以理解的方式解释了缓存:https://jakearchibald.com/2016/caching-best-practices/
TLDR: 不要试图在客户端解决这个问题,让服务器来处理这个问题。 在服务器端添加以下响应头:
Cache-Control: no-cache
关于javascript - 登录/注销后强制所有页面访问刷新/清除缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57649981/