如何发布HTML5缓存文件的更改?

时间:2013-06-23 04:27:47

标签: html html5 caching browser browser-cache

我知道如何通过简单地更改appcache清单中的字符来告诉浏览器再次下载缓存的fuiles,但是当我这样做时,我怎么能确保浏览器下载新文件而不用做一些事情,比如改变文件名?

我知道我可以发送的文件过期标头,但我没有经验。他们甚至可以使用HTML5缓存吗?我发送哪些?

我的印象是浏览器不够智能,无法检测文件何时被修改,并将继续使用缓存文件,直到您通过刷新页面或更改文件名来强制它。我不想这样做,因为它也意味着更新清单,只是额外的工作。

我的最佳解决方案是稍微更改清单,然后浏览器会在没有强制执行的情况下提取任何已更改的文件。

1 个答案:

答案 0 :(得分:3)

我所做的是将时间戳添加为清单

中的注释
# 20130623 025200

每次我想强制刷新时都要更新它。

编辑:正如我在评论中所指出的,浏览器将重新下载清单中明确枚举的所有文件。对于不在清单中的文件(例如,CSS或HTML文件中引用但未在清单中引用的图像),默认到期时间优先。

该算法在标准中描述:http://www.w3.org/html/wg/drafts/html/master/browsers.html#downloading-or-updating-an-application-cache