缓存-理解浏览器缓存

 浏览器缓存在本地的资源通过三个机制控制:新的、验证的和失效的(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消息头来检查内容师傅更新过。这是相当弱的验证形式。

你可能感兴趣的:(浏览器)