4
我刚刚开始在我的一些控制器操作中使用OutputCache,并且我没有完全得到我期望的响应。ASP.NET MVC:OutputCache和http headers
我已经将缓存时间设置为5分钟,并且Expires报头与Last-Modified报头相同,这是发出请求的时间。
这头我目前得到:
Date Thu, 16 Jul 2009 06:35:07 GMT
Server Microsoft-IIS/6.0
X-Powered-By ASP.NET
X-AspNet-Version 2.0.50727
X-AspNetMvc-Version 1.0
Content-Encoding gzip
Cache-Control public, max-age=300
Expires Thu, 16 Jul 2009 06:35:06 GMT
Last-Modified Thu, 16 Jul 2009 06:35:03 GMT
Vary *
Content-Type text/html; charset=utf-8
Content-Length 575
这头我希望:
Date Thu, 16 Jul 2009 06:35:07 GMT
Server Microsoft-IIS/6.0
X-Powered-By ASP.NET
X-AspNet-Version 2.0.50727
X-AspNetMvc-Version 1.0
Content-Encoding gzip
Cache-Control public, max-age=300
Expires Thu, 16 Jul 2009 06:40:06 GMT
Last-Modified Thu, 16 Jul 2009 06:35:03 GMT
Vary *
Content-Type text/html; charset=utf-8
Content-Length 575
为什么它会做任何想法?
干杯 安东尼
Humm是否仅适用于HTTP/1.1?因为我使用的只是支持HTTP/1.0的代理。那么这仍然适用? – 2009-07-16 07:13:19
代理支持的内容仅与代理对内容的作用不同。发送的标头取决于输出缓存属性中指定的缓存位置。 – bzlm 2009-09-21 20:28:00
Cache-Control标头是在HTTP/1.1中引入的,用于处理Expires标头中的限制。问题是Expires头文件设置了一个固定的失效日期,如果客户端和服务器时钟不同步,会导致问题。 当使用支持HTTP/1.1(几乎所有浏览器)的浏览器时,Expires标头将被忽略,以支持Cache-Control - max-age标头。使用Expires标头的唯一时间是请求来自仅支持HTTP/1.0而不是HTTP/1.1的浏览器。 – 2010-01-31 13:57:28