Web代理缓存可以用来存储高频访问的web对象(比如文档、图片等)以及为用户的请求提供这些信息。它在改善网络性能的同时,也为其他的任务空出了Internet的带宽。

理解HTTP Web代理缓存

Internet用户向遍布全球的web服务器发送请求。缓存服务器必须扮演成一个web代理服务器才能服务这些请求。对web代理服务器收到对 web对象的请求,它可以选择服务这些请求或者将它们传递给源服务器(包含被请求信息源文件的服务器)。Traffic Server代理支持直接代理缓存方式,这种方式需要客户端软件配置成直接发送请求给Traffic Server代理。下面大概描述一下Traffic Server如何服务用户的请求。

1.      Traffic Server收到一个用户对web对象的请求。

2.      Traffic Server尝试着在其对象数据库(缓存)中用被请求对象的地址来定位该对象。
3.      如果对象在缓存中,Traffic Server会检查该对象是否过期,如果对象没有过期,Traffic Server以缓冲命中的方式用该对象来服务用户(见下图)。

缓存命中

4.      如果缓存中的数据已经过期,Traffic Server连接源服务器并检查该对象是否仍然可用(重新生效)。如果生效,Traffic Server直接发送缓存中的对象给用户。

5.      如果对象没有在缓存中(缓存未命中)或者源服务器显示缓存中的对象已经失效,Traffic Server会从源服务器重新获取该对象。该对象会同时发送给用户以及Traffic Server的本地缓存(见下图)。由于本地已经有了最新的缓存,后期对该对象的请求将会被更快的服务。

缓存未命中

实际的缓存会比上面的概述复杂的多。尤其是概述中没有讲述Traffic Server如何确保对象有效,正确地服务不同的HTTP版本以及处理那些对不能或不该被缓存的对象的请求。下面的部分将更细致地讨论这些问题。