开源Web服务器的发展和成熟,使得Apache已不再是一骑绝尘了,在如今的开源Web服务器领域,正应了中国的一句古语:“一花独放不是春,百花齐放春满园”。
Netcraft(http://www.netcraft.com)和SecuritySpace(http://www.securityspace.com)是国际上公认的两大Web服务器分析统计权威机构。
通过对两大组织2005年1月份至2005年7月份的统计数据的对比分析,同时参考相关的研究报告(http://www.serverwatch.com/news/article.php/3518306),不难看出,以免费开源形式在业已成熟的Web服务器全球市场环境中博得一席之地的Web服务器,依然旗帜林立,阵容不俗。 归属此类阵营的主要Web服务器包括: 久负盛名的Apache, 功能丰富的WN, 精彩纷呈的Zope, 内建多线程支持的AOL Web服务器,灵活多变的Caudium, 设计精致的Xitami, 历史悠久的NCSA httpd, 小巧玲珑的thttpd, 同时还有支持Java特性的Jetty,Roxen和Resin等等。
下面将对那些获得市场认同的、比较成功的开源Web服务器分别就其较有特色的功能特性作一简要的分析和介绍,或许读者能够从中得到些许启发,在自己的IT规划和未来调研中予以适当地斟酌和借鉴。
CERN httpd与Jigsaw
在万维网兴起的初期,CERN的开源Web服务器由于对http 1.0协议、通用网关协议CGI的支持,以及作为Proxy服务器等的多重功用性曾经风靡一时,起到了奠基石和里程碑的作用。CERN httpd在1996年发展到3.0版本之后,W3C组织停止了该系列服务器的研发, 另起炉灶,重新设计和开发了新型的Web服务器Jigsaw。
Jigsaw (http://www.w3.org/Jigsaw)实际上是W3C组织对新的Web服务器标准的参考实现,目的是为了展示新的协议(如HTTP 1.1、PICS、WebDAV乃至HTTP NG等)的功能特性,并作为其实现的样板和原型。 迄今为止,Jigsaw业已发展到目前的2.2.5版。 这是一个对于未来的Web技术发展具有前瞻性的设计理念,确保每一种设想、进展和跳跃都能得到初步的验证和迅速的实现,而不是闭门造车。
在Jigsaw Web服务器的设计上,它采取了与众不同的体系结构, 根据Java的语言特性,将系统的服务层次划分为核心协议层(Daemon)、资源层(Resource)、过滤器层(Filter)和工具层(Utility),从而便于进一步的扩展。目前的Jigsaw支持最新的HTTP 1.1协议、CGI1.1协议,支持HTTP协议扩展框架、PICS协议、WebDAV协议等,同时具有Proxy功能和级联Proxy功能(包括对轻量级多播ICP的支持)。在安全性方面,Jigsaw 2.0已经内嵌了SSL的支持和HTTP基本认证以及摘要认证等。
使用建议: 对于研究机构或者力图在Web标准方面占得先机的组织或者个人,Jigsaw是一个不错的选择。
Apache
Apache Web服务器自1996年取代NCSA httpd成为Web服务器的领衔者之后,一直稳居市场头把金交椅的位置。由于Apache巨大的用户群基础和不断推陈出新的持续改进策略,使得它在激烈的竞争中立于不败之地,并逐渐赢得对手的尊重、扶植,如IBM公司和HP公司的操作系统都捆绑了Apache作为其Web服务器的选件。
Apache目前存在两个版本: 1.3版和2.0 版。2.0版和1.3版本相比,在系统的架构上进行了彻底的重构,在核心层,支持Unix的线程机制,提供了多进程和多线程的混合应用模式,提升了系统的可伸缩性; 能够支持多种协议栈; 对于非Unix操作系统(包括BeOS、OS/2和Windows)提供了更好的支持;更新了Apache API, 以提供更强劲的功能; 通过过滤器机制提供更大的模块灵活性;全面支持IPv6; 提供可以定制的多种语言的错误信息响应;简化系统配置文件的复杂度;支持Windows NT/XP/2000的Unicode编码机制等。
同时在系统的技术支持和知识库搜寻方面,由于Apache拥有世界上最大的用户群,任何的问题和疑难都能够比较容易地找到令你满意的答案,而任何的安全漏洞也会在巨大的开发群体的智慧池中灰飞烟灭。
使用建议: 这是一款久经考验的品质卓越的Web服务器,除非你采用某些专用的技术来构建Web应用,否则,在任何时候,Apache Web服务器都是你需要考虑的一项选择。目前Apache的最新版本为Apache 2.0.54,以APL(Apache Public License)授权协议开源发行。