Chrome何时清除磁盘缓存?

时间:2019-03-05 07:16:54

标签: javascript google-chrome caching browser-cache

我有一个网站在主页上提供listener.js。我想用一些额外的代码更新此javascript文件。但是浏览器(尤其是chrome)具有内存和磁盘缓存。当然还有HTTP缓存。我尝试了有关该状态的一些操作。我只尝试了F5,即从内存缓存加载的文件。然后我杀死了chrome,并再次打开了网站,从磁盘缓存中加载了javascript文件。所以我有两个问题;

  1. Chrome何时清除磁盘缓存?
  2. 我如何对访问者说不使用任何缓存并从服务器中获取新的javascript文件?

更新:

  1. 我可以使用no-cache Http标头执行此操作吗?

2 个答案:

答案 0 :(得分:2)

删除称为缓存清除的临时缓存文件。之所以有用,是因为浏览器不必再次下载这些文件。

如果引起问题,开发人员可以强制浏览器下载新文件。这是通过重命名文件来执行的,但是有更好的方法

src="js/listener.js" => src="js/listener.js?v=2"

更新

或者像这样的=> ?v=c298c7f8233d哈希比?v=2更好(由Tech Guy评论)

(积分:30秒)

答案 1 :(得分:1)

Chrome不会自动清除磁盘缓存,除非选中此选项

Privacy settings > Content settings > Keep local data only until you quit browser

在这种情况下,它会在关闭浏览器时删除缓存。

通常,您可以通过哈希文件名来防止客户端将文件保存在缓存中 每个构建,这是最常见的缓存清除技术。这意味着在每个发行版中,您将拥有一个新的文件名,而旧的缓存文件将无关紧要。例如

大多数构建工具(例如Webpack)都具有可以启用的缓存清除功能。

您根本不想停止用户进行缓存,因为缓存非常有用,并且可以防止重复下载。您只想在构建新版本时阻止下载。

相关问题