使单个页面的浏览器缓存无效
Invalidate Browser cache for a single page
我意识到5年前有人问过类似的问题。我希望今天会有一个更好的答案。
是否有一种程序化的方式告诉浏览器该页面的缓存版本过期&下次从服务器请求刷新?基于时间的过期不够快。
要求:我希望客户端不断地从自己的缓存中重新加载页面,直到我(通过SignalR)告诉它页面已经过时。然后,如果我能从本地缓存中刷新那个页面,下一次用户查看它时,它就会从服务器中取出最新的版本。所以它还是会被本地缓存。
为什么?页面上的数据需要很长时间才能下载& &;javascript在渲染时间上增加了秒数。通常它会保持静止30分钟或更长时间。但偶尔它会在一分钟内改变几次。所以固定时间间隔的缓存是行不通的。
ASP MVC允许我在服务器上使页面的输出缓存失效。这很好。如果我能在客户端做同样的事情,这将是一个惊人的速度提高。注意:我没有改变CSS,图像或Javascript。我只是想去掉很多JScript &在服务器上完成大部分HTML呈现,每个数据更改事件一次。
在我的项目中有类似的情况,我们希望所有客户端在每次发布后都使用最新版本的文件。它是一个简单的spring MVC应用程序。我们应用的修复是我们创建了一个jsp标签,它将向发送到服务器的所有URL添加版本号,如:
www.abc.com/test.html/1
www.abc.com/test.html/2
每次像这样改变URL时,浏览器不会使用缓存副本,而是从服务器获取文件。
版本号,您可以保存在配置文件中,并在每次发布后更改。
相关文章:
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 如何在从浏览缓存加载页面时执行javascript
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- ReactJS和SpringDataRest缓存问题可能与websocket有关
- 缓存谷歌地图数据
- 防止jQuery Mobile中的ajax缓存
- 这个问号在Flow中意味着什么:“;?()=>“无效”;
- 从字符串末尾删除空白无效
- image.onload事件和浏览器缓存
- Jquery Datatables错误:无效的JSON基元:draw
- Javascript清除缓存以清除基本身份验证凭据
- 使用jquery.load('pageName')方法时,未从应用程序缓存加载Html页
- 将脚本缓存到本地存储的basket.js概念仍然是一个好主意吗
- 阻止选项卡缓存jquery ui
- 滚动在Chrome中有效,但在Firefox或IE中无效
- 如何使Dojo/Request'无效;s模块缓存
- 缓存无效和同步角度/后端
- 使单个页面的浏览器缓存无效
- 正在使Angular中的所有$http缓存无效
- 如何以编程方式使浏览器缓存无效