Web(6)
Web 高速缓存
1.由于Web流量的迅速增加,调整缓存技术成为能够减少用户等待时间和减少网络冗余流量传输的首要技术
高速缓存的目的是减少:
A.用户能感受到的最初的WEB请求时间和用户代理显示的响应时间之间的等待时间 B.通过避免重复传输相同的响应来减轻网络的负载,这里的网络可能是局域网或Internet
C.通过在客户机和处理请求的原始服务器之间的路径上设置中间媒体来减轻原始服务器的负载
2.高速缓存建立在浏览器和任何用户代理以及原始服务器之间的WEB中间媒体上。除了在浏览器中,高速缓存更典型地是位于代理中。这意味着高速缓存是多位置的,而不是单一位置的
A.浏览器高速缓存可以避免重复读取在同一次会话中用户检查的网页
B.浏览器高速缓存与高速缓存代理相比,能够在更长的一段时间里存储相当一批最近接收到的响应。而高速缓存代理处理数以百计的用户共享资源,可能要比浏览器高速缓存更快地驱逐一些响应。
3.怎样进行高速缓存
A.决定消息是否能被高速缓存
B.高速缓存的替换和在高速缓存中存储响应
决定存储消息之后,高速缓存要核实是否可以不用清除其他高速缓存中的对象就能够对消息进行存储。如果不能,就要启动高速缓存替换算法,高速缓存替换需要一些系统开销。通常,即使高速缓存区没有存满,过期的资源也会被清除出高速缓存,这样就减少了在处理请求时激活替换算法的必要,也减少了用户的等待时间。一旦有可利用的空间,高速缓存就会从消息中提取信息,比如最后修改的时间、与到期或过期有关的信息等等。这些信息帮助高速缓存按照HTTP协议在高速缓存响应时间长度方面进行限制。符合协议的高速缓存必须保证任何返回的响应仍然被原始服务器认为是“新鲜”的。最后,高速缓存生成密钥,用于将来的查找,这个密钥通常是基于请求的URL的散列值。当高速缓存接到新请求,它就用URL在高速缓存中查找资源。
C.高速缓存响应的返回
当在高速缓存中找到了对应查找密钥的响应时,所说的“高速缓存命中”就发生了。然后,根据高速缓存策略和与高速缓存有关的标头的限制,会执行一次重校验以确保高速缓存响应仍然是“新鲜”的。如果重校验显示响应仍然是“新鲜”的,则高速缓存满足了请求,否则,高速缓存就获取资源的新拷贝,并且用它的高速缓存策略来决定在转发给用户时是否应该高速缓存这个响应。如果在高速缓存中没有找到请求(也就是“高速缓存未命中”),请求将被转发给下一个代理或原始服务器
D.维护高速缓存
隔一段时间,高速缓存可能就会检查其中的对象是否仍然是“新鲜”的,并清除过期的对象。高速缓存也会检查对象的请求速率,以确定哪个资源更流行并为它们采取一些特殊的处理