Squid是什么?
1.Squid是什么? Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人 们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想 下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如 :http://squid.nlanr.net/)并向这个页面发出请求。然后,Squid显式地聚集数据 到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地 从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FT P,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的 东西。 Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。 Squid将数据元缓存在内存中,同时也缓存DNS查询的结果,除此之外,它还支持非模块化的DNS查询,对失败的请求进行消极缓存。Squid支持SSL,支持访问控制。由于使用了ICP(轻量Internet缓存协议),Squid能够实现层叠的代理阵列,从而最大限度地节约带宽。 Squid由一个主要的服务程序squid,一个DNS查询程序dnsserver,几个重写请求和执行认证的程序,以及几个管理工具组成。当Squid启动以后,它可以派生出预先指定数目的dnsserver进程,而每一个dnsserver进程都可以执行单独的DNS查询,这样一来就大大减少了服务器等待DNS查询的时间。 2.Internet缓冲的一些概念 你可能会想到一些问题:缓冲有多大的用处?什么时候目标(object)应该或者不 应该被缓冲?例如,缓冲信用卡号码是完全不适合的,脚本文件的执行结果在远程服务 器端,站点经常更新(象www.cnn.com)或者甚至站点不允许缓冲,这些情况也都是不 适合缓冲的。 Squid处理各种情况是不错的(当然,这需要远程站点按标准形式工作)。 可执行的cgi-bin脚本文件不被缓冲,返回正确页眉的页面是在一段限制了的时间 内被缓冲,而且你可以规定特殊的规则以确定什么是可以或不可以被缓冲的,还有缓冲 的时间为多长。 谈到缓冲的用处有多大,这要看Internet的容量大小,各有不同。对于小型的缓冲 区(几转磁盘空间)来说,返回值非常高(达到25%)。这个空间缓冲经常访问的站点 ,如netscape,cnn和其它一些类似情况的站点。如果你增加一倍缓冲的磁盘空间,但 你不会成倍增加你的命中率。这是因为你开始缓冲网络中剩余部分时,这些通常时很大 的而且很少被访问。一个非常大的高速缓冲区,有20转左右,可能返回值仍小于50%, 除非你对保存数据的时间长短经常改变(一般地你不要分配20转的磁盘空间,因为页面 很快就会过时,应该被删除掉)。 我们在这里说的目标(object)指的是可保存的web页面或其它类似的可下载页面 (ftp文件或目录内容也称为目标(object))。 3.Squid运行在什么系统上? Squid可运行在大多数Unix和OS/2版本的系统之上,已知的可工作的有: AIX,Digital Unix,FreeBSD,HP-UX,Irix,Linux,NetBSD,Nextstep,SCO,Solaris |