http 缓存-私有缓存
web缓存是可以自动保存常见文档副本的http设备,当web请求抵达缓存时,如果本地有 “ 已缓存的 ”副本,就可以从本地储存设备提取,这样就不用从原始服务中提取这个文档。
缓存可以是单个用户专用,也可以是数千名用户共享的(如图)
- 专用缓存被称为私有缓存(private cache),我们常说的浏览器缓存是私有缓存
- 私有缓存是个人的缓存,包含了单个用户最常用的页面
- 共享缓存被称为公有缓存(public cache),常说的缓存代理服务器
- 公有缓存中包含了某个用户团队常用页面(代理做的缓存)
这里不谈论公有缓存的具体,也不谈论代理缓存的层次结构,只讨论私有缓存
- 公有缓存中包含了某个用户团队常用页面(代理做的缓存)
web浏览器中就内建的私有缓存——大多数浏览器都会将常用文档缓存在个人电脑的磁盘和内存中,并且允许用户配置缓存的大小和各种设置,对话框中读取缓存内容,MSIE将缓存的文档称为“临时文件”,并将其与相关的url和文档过期时间一起放在文件列表中列出,通过特殊的URL可以查看缓存内容,这个URL会给出一个显示了缓存内容的“磁盘缓存统计”页面
火狐浏览器或者网景的navigator缓存内容可以用URL about:cache查看,有兴趣可以瞅一瞅
对于http GET请求的报文的基本缓存处理过程包括7个步骤
- 接收——缓存从网络中读取抵达的请求报文
- 解析——缓存对报文进行解析,提取出URL和各种首部
- 查询——缓存查看是否本地副本可用,如果没有,就获取一份副本(并将其保存在本地)
- 创建响应——缓存会用新的首部和以缓存的主体来构建一条响应报文
- 发送——缓存通过网络将响应发回给客户端
- 日志——缓存可选地创建一个日志文件条目来描述这个事务