我们最近推出了新的CMS解决方案。但是,我们没有意识到默认情况下,此解决方案不会向HTML页面添加无缓存标头等。
虽然我们现在已经解决了这个问题,但我们使用IE的访问者尤其拥有大量HTML页面的缓存(包括对旧CSS和JS文件的引用)。
对于那些在上线后的第一个月内访问过该网站的用户,是否存在缓存清除的方法?因为我担心我们无法成功推进我们的设计和JS功能,因为人们使用旧的缓存版本。
答案 0 :(得分:3)
对页面的请求通常会返回Last-Modified
标题吗?这是破解我有任何经验的缓存的唯一可靠方法。
大多数浏览器会在缓存某些内容时发送If-Unmodified-Since
请求标头(除非此CMS上的默认缓存行为是设置显式缓存过期日期,这非常不寻常)。因此,您所要做的就是在响应中发出Last-Modified:[date you added no-cache headers]
标头,正确行为的HTTP服务器会向客户端发送完整更新的HTML页面。
答案 1 :(得分:1)
假设有一个中央网址生成功能,请跟踪它并始终将?_version=2
(或&_version=2
(如果网址中已有问号)附加到所有网址。
这对您的Web应用程序没有任何影响(除非它使用_version GET字段),但模拟更改的URL所有链接的资源。由于始终会请求初始网址(例如/
),这将使任何浏览器重新下载所有资源。