Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 浏览器缓存逐出是如何工作的?_Google Chrome_Caching_Browser_Etag_Expires Header - Fatal编程技术网

Google chrome 浏览器缓存逐出是如何工作的?

Google chrome 浏览器缓存逐出是如何工作的?,google-chrome,caching,browser,etag,expires-header,Google Chrome,Caching,Browser,Etag,Expires Header,让我来看看浏览器资源缓存的最坏情况 我已经配置了一个静态资源(大尺寸)在版本中缓存很长时间(比如1年),所以每次版本更新都会下载它。假设我在一年内更新了500多个版本。它能正常工作吗 浏览器是否将所有版本保留在缓存中?(如果未过期,则明显) 缓存浏览器可以存储的最大大小是多少 是否有任何缓存逐出策略来无效/删除未使用的缓存 1.不能保证。2.chrome://net-internals/#httpCache (“最大尺寸”)3。这是否意味着上述场景将按预期运行而不会出现任何错误?如果chrome

让我来看看浏览器资源缓存的最坏情况

我已经配置了一个静态资源(大尺寸)在版本中缓存很长时间(比如1年),所以每次版本更新都会下载它。假设我在一年内更新了500多个版本。它能正常工作吗

  • 浏览器是否将所有版本保留在缓存中?(如果未过期,则明显)
  • 缓存浏览器可以存储的最大大小是多少
  • 是否有任何缓存逐出策略来无效/删除未使用的缓存

  • 1.不能保证。2.chrome://net-internals/#httpCache (“最大尺寸”)3。这是否意味着上述场景将按预期运行而不会出现任何错误?如果chrome的行为中没有bug,那么它应该不会出现任何错误。以前的版本很快会被标记为低重用,最终会被标记为不重用,并且在需要时会被启动,即使它们的过期时间还没有过去。这与我对缓存策略的(简短的)了解相冲突:在Ruby on Rails中,静态资产是用手指打印的,这意味着资产的名称后面有许多随机字符。因此,当您更新特定资源时,名称也会更改,让浏览器知道要使用哪个资源。上面的线程和注释表明将使用最新的资产,而不会使用旧资产,并最终删除。例如,此链接解释了它:。cc@hybrishhelp