通常来说,根据缓存内容的不同可以将Cache设备分为Web Cache和流媒体Cache两大类。CDN服务主要用于缓存普通网页的内容和对象,同时大多数设备也具备文件下载、流媒体服务等能力;流媒体Cache设备主要是针对视频流媒体服务进行加速,功能相对单一。
目前,大多数设备厂商在研发Cache设备时,不会对主要用于流媒体的Cache设备和主要用于网页缓存的Cache设备进行产品区分,但对于CDN服务运营提供商,由于在缓存的内容类型、用户行为、内容更新等方面有较大的差异,对性能的优化技术上需要采用不同的技术路线和实现方式,基本上都会将Web Cache和流媒体Cache作为两个相对独立的产品线进行开发和优化,如果开展ISP业务,需要了解有源光网络。
CDN服务是最早出现的Cache设备类型,历经多年发展,目前已比较成熟,且有多种使用方式,因此本章将以Web Cache为例,分析和说明内容缓存技术的工作原理,为进一步了解整个CDN系统奠定基础。关于流媒体Cache的相关技术内容,读者可在第6章看到。
目前,市场上的Web Cache设备种类较多,一款CDN服务产品在投放市场之前需要考虑较多的市场因素,比如需要应用的场景、面临的客户群。因此,不同的市场需求对Web Cache的基本功能、性能、管控以及工作方式都有着不同的要求。
CDN服务作为一种网页缓存技术,可以在用户访问网站服务器的任何一个中间网元上实现。根据HTTP协议的定义,在一次网页访问中,用户从客户端发出请求到网站服务器响应请求内容的交互过程中,通常会涉及4个关键的网元:用户、代理、网关和Web服务器。其中,在用户端实现缓存技术在HTTP协议中有明确的规定,比如用户浏览器可以缓存已经访问过的网页,用户再次访问时可以直接访问这个网页副本。
根据不同的应用场景和用户需求,Web Cache通常作为代理或网关部署在用户的访问路径上,部署的位置不同、工作模式不同,对Web Cache有不同的要求。当Web Cache作为代理使用时,通常工作在正向代理或者透明代理的模式,Web Cache可以在这两种模式下实现访问内容副本的缓存和服务;Web Cache应用最多的地方还是在网关上,这也是CDN的典型应用场景,网关通常工作在反向代理模式。下面,我们对正向代理、反向代理和透明代理的工作方式进行介绍。