5月9日和6月13日,本报推出开源之旅的前两站:开源数据库和开源应用服务器,此次要带您领略的是第三站:开源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)授权协议开源发行。
Thttpd
Thttpd是ACME公司设计的一款比较精巧的开源Web服务器。它的初衷是提供一款简单、小巧、易移植、快速和安全的HTTP服务器,而事实上,Thttpd也正是这样一款服务器。它在Unix系统上运行的二进制代码程序,仅仅400k左右,在同类Web服务器中应该是相当精巧的。
在可移植性方面,它能够在几乎所有的Unix系统上和已知的操作系统上编译和运行。Thttpd在默认的状况下,仅运行于普通用户模式下,从而能够有效地杜绝非授权的系统资源和数据的访问,同时通过扩展它也可以支持HTTPS、SSL和TLS安全协议。Thttpd尤为称道的是已经全面支持IPv6协议, 并且具有独特的Throttling功能,可以根据需要限制某些URL和URL组的服务输出量。此外,Thttpd全面支持HTTP 1.1协议(RFC 2616)、CGI 1.1、HTTP 基本验证(RFC2617)、虚拟主机及支持大部分的SSI(Server Side Include)功能,并能够采用PHP脚本语言进行服务器端CGI的编程。
使用建议: 对于那些并发访问量中等,而又需要较强响应能力、并期望能够控制用户访问流量,而且有较高安全性需求的用户而言,thttpd Web服务器显然是一个比较好的选择。 thttpd目前的最新版本是2.2.5版。
AOLServer
AOLServer是美国互联网和传媒巨头AOL公司所提供一款基于TCL/Tk语言而构建的开源Web服务器软件。该产品从1995年初出茅庐之时便明确地采用了多线程的编程思想,从而在性能的提高上奠定了良好的基石。 1999年, AOL公司以Mozilla公共授权许可协议(MPL)公开了AOLServer 3.0的源代码, 免费向公众提供下载。在2005年1月, AOLServer公布了它的最近更新版4.1版。 AOLServer已经被成功地运用到了AOL公司自身的主业务站点www.aol.com上, 这个事实是AOLServer作为成熟的企业级Web服务器的一个鲜明佐证。AOLServer的设计初衷是提供一款极具伸缩能力和扩展性的适合于大规模、动态性Web站点的Web服务器,AOLServer包含了对动态网页编程语言TCL的支持,并且提供了强大的服务器端API,支持即时的HTTP响应gzip编码传输功能, 为网络大容量数据的传输提供了进一步的保障, 尤为难能可贵的是AOLServer提供了全面数据库集成支持,同时AOL内置SSL协议的支持,所有这些都使得AOLserver形成了自己的独特的优势。
使用建议: 对于那些需要构建大规模、动态复杂网站而又需要相当的灵活性的Web管理人员而言,不妨将AOLSever Web服务器列在自己备选的考察名单中。
Roxen
Roxen WebServer是近年来发展起来的另外一款基于GPL许可协议的功能齐全的Web服务器,能够运行于Windows、Linux、Solaris和Mac OS X等多种操作平台之上,并且日渐在Web服务器市场上羽翼丰满。Roxen WebServer在系统设计上,采用了模块化的体系结构,使得可以比较容易地进行服务器端的功能扩展,所有的模块都可以进行热插拔,即无需停止Web服务器进程便能够进行功能的修复和拓展;同时, 它集成了MySQL的支持,支持服务器端的多种语言编程,包括自有的RXML、 Java、Perl、PHP和CGI脚本等,支持强加密机制。另外,Roxen的一个独特功能是它的图形特性支持,可以动态地产生图形图像化的内容,进行实时的图形渲染和处理,并且通过特定的扩展模块容器来处理从认证授权管理、带宽控制以及文件系统交互等各种实际的问题。同时Roxen提供了良好的基于Web的配置管理和维护界面,无疑增加了系统的可用性。
使用建议: 对于那些需要一站式服务来解决大部分实际问题,以及对图形处理要求高的Web站点的管理人员和开发人员来说,Roxen可能是一个比较好的选择。Roxen目前的最新版本是4.0.325。
本文转自
http://cnw2005.cnw.com.cn/store/detail/detail_feedback.asp?articleId=34674&ColumnId=1778&pg=&view=