2010-05-19 97 views

回答

19

这取决于人,浏览器和设置。

浏览器通常保留一定量的磁盘空间,像12 MIB,这项任务。如果用户停止使用浏览器,它是无限期的。如果他/她很少使用浏览器,它会一直到期满时 - 通过内部策略或HTTP头。如果他/她大量使用浏览器,则可能需要12分钟甚至更少。

我认为,这是很难说“一般”,因为我有一个网站上50个%的项目来自Firefox和49%,从歌剧,当IE在这一点上有超过75%的市场份额。如果您的网站的目标受众是大量使用浏览器的用户,则该用户可能很短。另一方面,如果您的网站只是网站访问,它可能几乎从不。

+4

浏览器不保留的项目在缓存中“无限期”当标题,如“过期”,“缓存控制”或“上次修改”都存在。相反,浏览器将为该内容设置特定的到期时间。您的答案意味着这一点,但应该明确说明。 – 2013-10-10 10:43:33

+0

@StephenOstermiller - 谢谢。我的意思是“(即到期)”,但我希望现在更清楚。 – 2013-10-13 13:39:02

+0

@StephenOstermiller那么,从技术上讲,他不正确,因为如果用户停止使用浏览器,缓存将保留,直到浏览器再次使用?如我错了请纠正我。我的意思是,除了从安全角度来看,似乎是一个愚蠢的观点,可能会从PC中恢复缓存数据,因为只要浏览器未打开,它仍然存在。我错了吗? – BVernon 2018-01-09 04:51:30

2

通常文件会留在缓存中,直至空间用完。有一篇文章介绍了流行浏览器的一些默认设置: It's Time to Rethink the Default Cache Size of Web Browsers

正如Maciej所说,这也是每个人浏览量的问题。考虑将考虑访问您的网站的用户群,以及网站的带宽是多少(如果普通用户从您的网站下载大量内容,他们很可能会真正快速地填充他们的缓存)。

如果需要缓存刷新,你可以在页面强制不缓存文件。

+4

链接给出404. – Trisped 2016-01-28 01:22:20

+1

这是来自archive.org的[上次工作副本的链接](https://web.archive.org/web/20151130113539/http://kaioa.com/node/74)。请注意,该文档是大约8岁(2008),这在浏览器行为方面非常古老。当你问Google时,这个问题仍然在前10名。 – 2016-11-21 12:00:28

0

正如其他答案所述,它取决于浏览器设置。但请注意,缓存文件并不一定意味着不会从您的网站获取更改。如果配置为这样,浏览器将向服务器发送请求,并提供有关缓存文件日期的详细信息。当服务器没有变化时,服务器会响应“确定,使用缓存 - 这是最新版本”。这repsonse是小,并迅速发送。如果服务器版本已更新,则服务器将使用新版本进行响应。

浏览器多久向服务器发送一个请求是特定浏览器 - 它们可以被配置每次检查更新,一小时一次,每天一次,从来没有或之间的任何地方。服务器还可以指定浏览器检查更新的频率。

这只是一个草图 - 它是简化和不完整的。有关完整的详细信息,请参见W3C - HTTP/1.1 Caching

0

取决于服务器指定的时间长度。服务器在响应头中发回参数。他们可以指定max-age(文件在以毫秒为单位到期之前缓存的时间)或到期日期(文件将过期的日期)。如果它同时存在,max-age会优先考虑。