HTTPcaching控制最大年龄,必须重新validation
我有几个与Cache-Control有关的查询。
如果我指定了Cache-Control max-age=3600, must-revalidate
对于静态的html / js / images / css文件,必须使用HTTP标头中定义的Last Modified Header max-age=3600, must-revalidate
:
- 在max-age过期之前,浏览器/代理caching(如Squid / Akamai)是否会一直到源服务器validation? 或者它会提供内容从caching到最大年龄到期?
- 在最大期限到期(即从caching到期)之后,是否存在If-Modified-Since检查或者是否从原始服务器重新下载了内容,而不是If-Modified-Since检查?
a)如果服务器包含这个头文件:
Cache-Control "max-age=3600, must-revalidate"
它告诉客户端caching和代理caching一旦内容陈旧(大于3600秒),他们必须在原始服务器上重新生效,然后才能提供内容。 这应该是caching系统的默认行为,但must-revalidate
指令使得这个要求是明确的。
b)客户应该重新validation。 它可能会使用Ifag If-Match
或If-None-Match
标头对ETag进行重新validation,也可能使用带有date的If-Modified-Since
或If-Unmodified-Since
标头。
一个。 看看这个页面上的“统计”标签,看看会发生什么。
湾 到期后,浏览器将检查服务器是否更新文件。 如果没有,服务器将回应一个304 Not Modified
标题,并且没有下载。
您可以通过查看Firebug或类似工具中的“Net”面板来自行检查此行为。 只需在地址栏中重新inputURL,并将caching为空时的HTTP请求数与请求数进行比较。
- 如果redis已经是堆栈的一部分,为什么Memcached仍然和Redis一起使用?
- Rails 3.1的Rails.cache错误 – TypeError:不能用默认的proc转储hash
- MemoryCache在configuration中不遵守内存限制
- 如何在IIS中为静态资源的HTTP标头中设置到期date或最大使用期限
- 是否使用$ this而不是$(this)提供性能增强?
- caching与会话的优点
- 在定义cachingvariables时,在objective-c中使用static关键字
- 可以在ASP.NET应用程序外部使用HttpRuntime.Cache吗?
- jQuery对象:caching还是不caching?