您的位置:首页 > 理论基础 > 计算机网络

新手入门:了解WWW服务与HTTP协议6

2007-07-04 13:18 381 查看

新手入门:了解WWW服务与HTTP协议6

Posted on 2007-04-26 10:55 szw104 阅读(12) 评论(0)  编辑 收藏 引用 网摘 所属分类: Web原理


web高通缓存服务器
  web高速缓存服务器(Web cache)是具有高速缓存功能的web代理服务器,它们在代表客户执行HTTP请求的问时,在自己的硬盘空间中保存近来请求到的对象的一个拷贝。如下图所示,用户首先把他们的浏览器配置成所有的HTTP请求都定向到web高速缓存服务器。。这样配置过的浏览器以后产生的每一个请求首先到达的将是Web高速缓存服务器。下面就以浏览器请求对象http://www.chinabyte.com/例,具体说明其过程。

图4:Web缓存服务器工作原理
  ●浏览器建立一个到Web高速缓存服务器的TCP连接,然后通过该连接向这个web高速缓存服务器发出一个访问所指对象的HTTP请求。

  ●Web高速缓存服务器查看本地是否存有该对象的一个拷贝。如果有的话,它就把该对象包含在一个HTTP响应消息中发送给客户浏览器。

  ●如果web高速缓存服务器找不到该对象的本地拷贝,它就建立一个到目标服务器即  www.chinabyte.com的TCP连接。然后通过该连接发出一个访问所指对象的HTTP请求。目标服务器接收到这个请求后,把所请求的对象包含在一个HTTP响应消息中发送给Web高速缓存服务器。

  ●web高速缓存服务器接收到这个对象后,在本地存放一个它的拷贝,再通过与客户浏览器之间的已有连接,把它的另一个拷贝包含在一个HTTP响应消息中发送给客户浏览器。

  注意,web高速缓存服务器同时扮演服务器和客户两个角色。就从浏览器接收请求和往浏览器发送响应而言,它是服务器。就往目标服务器发送请求和从目标服务器接收响应而言,它是客户。

  为什么要增添Web高速缓存服务器?它有哪些优势呢?在因特网中广泛地部署Web高速缓存服务器至少有3个理由。首先,web高速缓存服务器可以充分地缩短客户请求的响应时间,特别是在客户与目标服务器之间的瓶颈带宽比它与高速缓存服务器之间的瓶颈带宽小得多的时候。如果在客户和高速缓存服务器之间存在一个高速连接(实际情况也通常是这样),而且高速缓存服务器上存有所请求的对象,那么它将迅速地把该对象递送给客户。其次,web高速缓存服务器可以充分地降低相应机构在因特网访问链路上的流量(后面会有相应的示例)。这样降低流量后,该机构(譬如说公司或大学)就不必过快地升级带宽,从而节省了费用。另外,web高速缓存服务器可以显著降低因特网的总体Web流量,从而改善所有应用的性能。第三,在因特网的机构、地区、国家等层次上密布web高速缓存服务器主机可提供一个用于迅速散布内容的基础设施,即使是在低速访问链路之后的低速服务器主机上运行其Web站点的内容供应商也大受稗益。如果这些资源不足的内容供应商突然有受欢迎的内容待散布,那么这些内容将会在较短时间内拷贝到大量的高速缓存服务器中,从而满足用户的强烈需求。

  协同高速缓存

  因特网上位于不同地方的多个web高速缓存服务器可以协同改善整体性能。例如,机构内部的高速缓存服务器可以配置成把它的HTTP请求发送给某个国家级主干ISP的高速缓存服务器。这种配置下,当机构内部高速缓存服务器中没有存放浏览器请求的对象时,它将把相应的HTTP请求转发给国家级高速缓存服务器。国家级高速缓存服务器接着从本地硬盘或从目标服务器取得该对象,发送给机构内那高速缓存服务器,再由它转而发送给提出请求的浏览器。当一个对象穿越—个机构内部或国家级高速缓存服务器时,这个高速缓存服务器将在本地硬盘中保存该对象的一个拷贝。穿越更高层的高速缓存服务器(例如国家级高速缓存服务器)的优势在于它们拥有更大的用户群体,从而有更高的命中率。

  协同高速缓存系统的一个例子是NLANR,它由位于美国境内的多个主干高速缓存服务器构成,为遍布全球的机构内部高速缓存服务器和地区级高速缓存服务器提供服务。各个高速缓存服务器组合使用HTTP和1CP(Internet Caching Protocol网际高速缓存协议)彼此交换对象。ICP是一个应用层协议,允许一个高速缓存服务器迅速查问另一个高速缓存服务器是否存有某个给定文档[RFC 2186]。查问完之后,它就可以便用HTTP协议取回该对象。ICP在许多协同高速缓存系统中得到广泛使用,Squid软件完全支持它(Squid是一个用于Web高速缓存的公共域软件)。

  协同高速缓存的另一种形式涉及高速缓存服务器的群集,这些服务器往往位于同一个局域网内。当单个高速缓存服务器没有足够的能力处理流通量或提供足够的存储容量时,往往改用高速缓存服务器群集。尽管群集是随流通量增长而扩张规模的自然方式,它却引入了新的问题:当一个浏览器请求某个特定对象时,它应该向群集中的哪一个高速缓存服务器发出请求呢?通过使用散列选路办法,这个问题可以完美地得到解决(相关资料可在网上查找)。在最简单的散列选路方式中,浏览器对URL作散列操作,然后根据散列结果把请求消息定向到群集中的某个高速缓存服务器。通过让所有的浏览器使用相同的散列函数,一个对象就只会存在于同一群集中的某个高速缓存服务器L,而且如果该对象确实存在于这个群集中,那么浏览器总是能够把访问该对象的请求定向到正确的高速缓存服务器。散列选路是高速缓存阵列选路协议(Cache Array Routing Protocol,简称CAD)的核心。

  web高速缓存是一个丰富而复杂的主题,近些年来己围绕它展开了广泛的研究和产品开发。另外,高速缓存服务器现今己设计成可用来处理流式音频和视频数据。随着因特网开始为在其上大规模按需散布音乐、电视节目和电影提供基础设施,高速缓存有可能扮演越来越重要的角色。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息