文件通常保存在浏览器缓存中多长时间?我想知道普通人群 - 我需要多长时间才能确定大多数人的缓存会重新获取文件?
答案 0 :(得分:24)
这在很大程度上取决于人,浏览器和设置。
浏览器通常会为此任务保留一定量的磁盘空间,如12 MiB。如果用户停止使用浏览器,则无限期。如果他/她很少使用浏览器,则会在到期之前 - 通过内部策略或HTTP标头。如果他/她大量使用浏览器,则可能是12分钟甚至更短。
我认为很难说'一般',因为我有一个网站,其中50%的参赛作品来自Firefox,49%来自Opera,当时IE的市场份额超过75%。如果您网站的目标受众是严重使用浏览器的用户,则可能非常短。另一方面,如果您的网站只访问过网站,则几乎不会。
答案 1 :(得分:2)
通常文件将保留在缓存中,直到空间用完为止。有一篇文章描述了流行浏览器的一些默认设置: It's Time to Rethink the Default Cache Size of Web Browsers
正如Maciej所说,这也是每个人浏览多少的问题。考虑一下将考虑访问您网站的用户群,以及您的网站带宽如何(如果普通用户从您的网站下载大量内容,他们很可能会快速填充他们的缓存)。
如果需要缓存刷新,则可以强制页面不缓存文件。
答案 2 :(得分:0)
正如其他答案所述,这取决于浏览器设置。但请注意,缓存文件并不一定意味着不会从您的网站获取更改。如果配置为执行此操作,浏览器将向服务器发送请求,并提供有关缓存文件日期的详细信息。当没有变化时,服务器响应“ok,使用你的缓存 - 它是最新版本”。这个回复很小,很快发送。如果服务器版本已更新,则服务器将使用新版本进行响应。
浏览器向服务器发送请求的频率是浏览器特定的 - 它们可以配置为每次检查更新,每小时一次,每天一次,从不检查或介于两者之间。服务器还可以指定浏览器检查更新的频率。
这只是一个草图 - 它是简化和不完整的。有关完整的详细信息,请参阅W3C - HTTP/1.1 Caching。
答案 3 :(得分:0)
取决于服务器指定的时间。服务器在响应头中发回参数。它们可以指定max-age(文件在到期之前以毫秒为单位缓存多长时间)或到期日期(文件将过期的日期)。如果两者都有,max-age将优先考虑。