首页 > Web开发 > 详细

web cache

时间:2015-11-23 06:26:04      阅读:301      评论:0      收藏:0      [点我收藏+]

一、缓存的基本概念

对于http来说,缓存服务器首先是一个代理服务器

程序具有局部性使得缓存成为可能

程序具有局部性:

                时间局部性: 过去访问到的数据,随后可能也会被访问到

                空间局部性:过去访问到的数据,它周围的数据随后可能也会被访问到


缓存都是以“key-value”形式缓存在本地

key:访问路径,url,hash,

value:web content


热点数据:

命中率:hit/(hit+miss)

      文档命中率:从文档个数进行衡量

      字节命中率:从内容大小进行衡量


缓存对象的生命周期:

                 定期清楚,不可 缓存对象(用户私有数据)

缓存空间耗尽:

               LRU算法:最近最少使用


缓存处理的步骤:

    接收请求--》解析请求(提取请求的url及各种首部)--》查询缓存--》新鲜度检测--》创建响应报文--》发送响应--》记录日志


新鲜度检查机制:

1)过期日期:

          HTTP/1.0  Expires(过期日期,绝对时间,时区不同时会有问题)

          HTTP/1.1  Cache-Control 缓存控制机制

                     max-age-N ,也兼容Expires

2)有效性再验证:revalidate,使用条件式请求首部

          如果原始内容未改变,则仅响应首部(不附带body部分),响应码304;

          如果原始内容发生改变,则正常响应,响应码200;

          如果原始内容消失,则响应404,此时缓存中的cache object也应该删除

条件式请求首部:         

If-Modified-Since:基于请求内容的时间戳作验证

If-Unmodified-Since

If-Mstch:

If-None-Match: Etag:扩展标签

web cache

原文:http://xiexiaojun.blog.51cto.com/2305291/1715780

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!