前言
往往浏览器保存一些数据,方便下次加载的时候速度更快一些,有时候对网页/js做了一些改动时,不能即时生效,需要清理缓存,下次重新加载一遍。这样对于一些网页APP的用户而言,会遇到一些问题。特别是在嵌入式领域,不确定别人是如何解决这个问题的。我的解决办法是在HTTP Server 返回的 HTTP HEADER 中加入参数,禁止浏览器缓存数据。
如何禁止浏览器缓存数据
HTTP协议中,有这参数的定义:
Cache-Control 顾名思义,缓存控制,设置成 no-cache,no-store 就可以了。当浏览器对返回的头部进行解析时,会自动放弃对这条记录(图片,HTML,JS什么的)的缓存(如果浏览器遵循标准的话)。
其他HTTP Header参数请参考 HTTP 协议。
应用
在目前项目中是在嵌入式方面,主要是有两个三个主页:初始化界面,登录主页,和备份还原的主页。如若缓存,则需要F5刷新一下,不能自由在三个页面中跳转。设置以上参数之后,自由切换。
缺点
每次打开这个页面,都需要把所有图片,HTML,JS等都下载一遍,可能会影响加载速度什么的。