您的位置:首页 > 其它

缓存-理解浏览器缓存

2014-04-07 09:14 169 查看
浏览器缓存在本地的资源通过三个机制控制:新的、验证的和失效的(freshness,validation,invalidation)。这三者属于HTTP的一部分,并且定义在HTTP消息头里。
新的:允许应答消息直接使用,而不需要经过服务器检查,可以同时被服务器和客户端控制。例如,Expires过期的消息头设置了资源过期的时间, 而Cache-Control:maxage则提供的是应答消息需要经过多久再次刷新。
下面的代码展示了如何在服务端通过代码设置HTTP消息头:
public ActionResult CacheDemo()
{
//设置缓存控制头的值
[HttpCacheability]

//设置缓存控制:公开指定师傅可以被客户端或者代理缓存
Response.Cache.SetCacheability(HttpCacheability.Public);

//设置缓存控制最大时间为20分钟
Response.Cache.SetMaxAge(DateTime.Now.AddMinutes(20));

//设置过期时间为 11:00 P.M
Response.Cache.SetExpires(DateTime.Parse("11:00:00PM"));

return View();
}

验证(Validation):用来检测陈旧的缓存数据师傅依然有效。例如,如果缓存的应答数据包含 Last-Modified消息头,则缓存就可以使用If-Modifiend-Since消息头来检查内容师傅更新过。这是相当弱的验证形式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: