如果磁盘缓存已满,浏览器可以使缓存项无效(有效)吗?

时间:2012-03-26 17:22:21

标签: caching

如果有完整浏览器缓存的用户访问我的网站并且需要缓存一些我的资源(通过Cache-Control标头),那么浏览器是否可能删除一些旧的(但仍然有效,即未过期)缓存中的项目,以便可以缓存我的资源? 如果用户缓存中没有过时的资源,浏览器是否会忽略我的缓存策略?

1 个答案:

答案 0 :(得分:0)

如果缓存已满,浏览器必须在某处找到新内容的空间。

理所当然的方法是

 1) first remove all expired contents.
 2) second remove oldest (based on time since last visit) contents 

但是,老实说,我从未深入研究过这个问题,因为我觉得依赖缓存的内容会产生反作用。许多浏览器都有“退出时删除所有缓存”按钮。或者用户运行CCleaner等程序来删除临时文件。缓存基本上被认为是临时文件。

我想您可以尝试编写一个服务器日志分析器,以确定在未加载随播资源时是否正在重新加载特定资源。这将涉及分离用于确定资源的“年龄”与资源的完全下载的仅标头调用。从那时起,大多数人都在猜测,我不依赖缓存在那里而且我不使用缓存作为跟踪设备。