javascript - 登录/注销后强制所有页面访问刷新/清除缓存

标签 javascript html css xquery exist-db

我的网站完全由动态数据构成,其中一些会根据用户身份验证而变化。当用户“登录”到站点时,我会在页面导航栏中显示他们的新状态以及他们的用户名。然而,当他们访问他们最近在验证之前访问过的页面(后退按钮等)时,该页面的导航栏版本将不会刷新。强制刷新页面到浏览器的方法有哪些?反之亦然:如果用户注销,最近的页面仍会显示已通过缓存版本的身份验证。

我可以使用什么技术始终在网站上的任何页面上强制执行浏览器端刷新/清除缓存?

谢谢。

注意:服务器端我正在使用 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/

相关文章:

javascript - 如何从传递给 react 组件的 Prop 设置状态?

html - 页脚~定位//扭曲

javascript - Flexslider DirectionNav 的行为与示例不同

html - 边框不会在 Internet Explorer 中显示

html - 使内联 block 水平拉伸(stretch)容器

javascript - 使用 location.hash 显示/隐藏元素

javascript - 以编程方式检查网站是否被 ISP 阻止

javascript - 查找并替换具有当前焦点的子字符串

javascript - 使用 .click 而不是 onclick 并获取变量值

javascript - onclick 无法与 bootstrap 一起正常工作