vdh*_*ant 4 .net asp.net asp.net-mvc caching http-headers
我刚刚开始在我的一些控制器操作上使用OutputCache而且我没有得到我期望的响应.
我已将缓存时间设置为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
Run Code Online (Sandbox Code Playgroud)
这是我期望的标题:
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
Run Code Online (Sandbox Code Playgroud)
关于为什么会这样做的任何想法?
干杯安东尼
max-age优先(来自RFC 2616):
我们使用该术语
expires_value来表示Expires标头的值.我们使用该术语max_age_value来表示响应中Cache-Control头的"max-age"指令所携带的秒数的适当值(参见第14.9.3节).max-age指令优先于Expires,因此如果响应中存在max-age,则计算结果为:
Run Code Online (Sandbox Code Playgroud)freshness_lifetime = max_age_value否则,如果响应中存在Expires,则计算为:
Run Code Online (Sandbox Code Playgroud)freshness_lifetime = expires_value - date_value
因此客户端应该按预期使用缓存版本.
| 归档时间: |
|
| 查看次数: |
2760 次 |
| 最近记录: |