HTTP(三) 缓存

缓存

 

缓存优点

减少了冗余的数据传输;

缓解了网络瓶颈问题;

降低了对原始服务器的要求;

降低了距离时延;

 

再验证(新鲜度检测)

大部分缓存只有在客户端发起请求,并且副本旧得足以需要检测时,才会对副本进行再验证。

 

If-Modified-Since首部

服务器内容未被修改 304 Not Modified

服务器内容已被修改 200 OK

服务器上的对象被删除 404 Not Found

 

缓存命中率

中等规模的缓存,40%的命中率是合理的。

 

网状缓存

・根据URL在父缓存或原始服务器之间进行动态选择

・根据URL动态地选择一个特定的父缓存

・前往父缓存之前,在本地缓存中搜索已缓存的副本

・允许其他缓存对其缓存的部分内容进行访问,但不允许因特网流量通过它们的缓存

 

缓存的处理步骤

・接受:缓存从网络中读取抵达的请求报文

・解析:缓存对报文进行解析,提取出URL和各种首部

・查询:查看是否有本地副本可用,若没有,就获取一份副本

・新鲜度检测:查看副本是否新鲜,若不是,就询问服务器是否有任何更新

・创建相应:用新的首部和已缓存的主题构建一条响应报文

・发送:缓存通过网络将相应发回给客户端

・日志:缓存可选地创建一个日志文件条目来描述这个事务

 

Expires:绝对时间

Cache-Control:相对时间

 

缓存再验证

 

If-Modified-Since:Date再验证

该首部与Last-Modified服务器响应首部配合工作

 

If-None-Match:实体标签再验证

ETag标签 版本号

 

缓存优先级:

优先级递减

・Cache-Control: no-store

・Cache-Control: no-cache

・Cache-Control: must-revalidate

・Cache-Control: max-age

・Expires

 

缓存控制

Apache Web服务器控制缓存的机制

 

HTTP首部

・mod_headers

<Files *.html>

    Header set Cache-Control no-cache

</Files>

・mod_expires

・mod_cern_meta

 

通过http-equiv控制HTML缓存

<meta http-equiv=”Cache-Control” content=”no-cache”>

posted @ 2016-12-26 14:17  dreamerjdw  阅读(159)  评论(0编辑  收藏  举报