Web缓存工作原理

现代的商业化代理缓存相当的复杂。这些缓存构建的非常高效,可以支持HTTP和其他一些技术的各种高级特性。但除了一些微妙的细节之外,Web缓存的基本工作原理大多很简单。对一条HTTP GET报文的基本缓存处理过程包括7个步骤:

  1. 接收——缓存从网络中读取抵达的请求报文
  2. 解析——缓存对报文进行解析,提取URL和各种首部
  3. 查询——缓存查看是否有本地副本可用,如果没有,就获取一份副本(将其保存在本地)
  4. 新鲜度检测——缓存查看已缓存的副本是否足够新鲜,如果不是,就询问服务器是否有任何更新
  5. 创建响应——缓存会用新的首部和已缓存的主体来构建一条响应报文
  6. 发送——缓存通过网络将响应发回给客户端
  7. 日志——缓存可选的创建一个日志文件条目来描述这个事务

1. 接收

缓存检测到一条网络连接上的活动,读取输入数据。高性能的缓存会同时从多条输入连接上读取数据,在整条报文抵达之前开始对事务进行处理。

2. 解析

缓存将报文解析为片段,将首部的各个部分放入易于操作的数据结构中。这样缓存软件就更容易处理首部字段并修改他们了。
解析程序还要负责首部各部分的标准化,将大小写或者可替换数据格式之类不太重要的区别都看成等效的。

3. 查找

缓存获取URL后,查找本地副本。本地副本可能存储在内存,本地磁盘,甚至附近的另一台服务器中。专业级的缓存会使用快速算法来确定本地缓存中是否有某个对象。如果本地没有这个文档,他可以根据情形和配置,到原始服务器或父代理中去取,或者返回一条错误信息。
已缓存的对象中包含了服务器响应主体和原始服务器响应首部,这样就会在缓存命中时返回正确的服务器首部。已缓存的对象中还包含一些元数

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值