5.1 各种形状和尺寸的 Web 服务器
Web 服务器会对 HTTP 请求进行处理并提供响应。术语“Web 服务器”可以用来表示 Web 服务器的软件,也可以用来表示提供 Web 页面的特定设备或计算机。
Web 服务器有着不同的风格、形状和尺寸。有普通的 10 行 Perl 脚本的 Web 服务器、50MB 的安全商用引擎以及极小的卡上服务器。但不管功能有何差异,所有的 Web 服务器都能够接收请求资源的 HTTP 请求,将内容回送给客户端(参见图 1-5)。
图 5-1 Netcraft 的自动化调查估计的 Web 服务器市场份额
5.1.1 Web服务器的实现
Web 服务器实现了 HTTP 和相关的 TCP 连接处理。负责管理 Web 服务器提供的资源,以及对 Web 服务器的配置、控制及扩展方面的管理。
Web 服务器逻辑实现了 HTTP 协议、管理着 Web 资源,并负责提供 Web 服务器的管理功能。Web 服务器逻辑和操作系统共同负责管理 TCP 连接。底层操作系统负责管理底层计算机系统的硬件细节,并提供了 TCP/IP 网络支持、负责装载 Web 资源的文件系统以及控制当前计算活动的进程管理功能。
Web 服务器有各种不同的形式。
可以在标准的计算机系统上安装并运行通用的软件 Web 服务器。
如果不想那么麻烦地去安装软件,可以买一台 Web 服务器设备,通常会是一台安装在时髦机架上的计算机,里面的软件会预装并配置好。
随着微处理器奇迹般地出现,有些公司甚至可以在少量计算机芯片上实现嵌入式 Web 服务器,使其成为完美的(便携式)消费类设备管理控制台。
我们分别来看看这些实现方式。
5.1.2 通用软件Web服务器
通用软件 Web 服务器都运行在标准的、有网络功能的计算机系统上。可以选择开源软件(比如 Apache 或 W3C 的 Jigsaw)或者商业软件(比如微软和 iPlanet 的 Web 服务器)。基本上所有的计算机和操作系统中都有可用的 Web 服务器软件。
尽管不同类型的 Web 服务器程序有数万个(包括定制的和特殊用途的 Web 服务器),但大多数 Web 服务器软件都来自少数几个组织。
2002 年 2 月,Netcraft 调查(http://www.netcraft.com/survey/)显示有三家厂商主宰 了公共因特网 Web 服务器市场(参见图 5-1)。
免费的 Apache 软件占据了所有因特网 Web 服务器中大约 60% 的市场。
微软的 Web 服务器占据了另外 30%。
Sun 的 iPlanet 占据了另外 3%。
但这些数据也不能尽信,通常大家都认为 Netcraft 调查会夸大 Apache 软件的优势。首先,在调查计算服务器的时候没有考虑其流行程度。各大 ISP 的代理服务器访问研究表明,Apache 服务器提供的页面数量远小于 60%,但仍然超过了微软和 Sun 的 iPlanet。然而,据说微软和 iPlanet 服务器在公司企业中要比 Apache 更受欢迎。
5.1.3 Web服务器设备
Web 服务器设备(Web server appliance)是预先打包好的软硬件解决方案。厂商会在他们选择的计算机平台上预先安装好软件服务器,并将软件配置好。下面是一些 Web 服务器设备的例子:
Sun/Cobalt RaQ Web 设备(http://www.cobalt.com);
东芝的 Magnia SG10(http://www.toshiba.com);
IBM 的 Whistle Web 服务器设备(http://www.whistle.com)。
应用解决方案不再需要安装及配置软件,通常可以极大地简化管理工作。但是, Web 服务器通常不太灵活,特性不太丰富,而且服务器硬件也不太容易重用或升级。
5.1.4 嵌入式Web服务器
嵌入式服务器(embeded server)是要嵌入到消费类产品(比如打印机或家用设备)中去的小型 Web 服务器。嵌入式 Web 服务器允许用户通过便捷的 Web 浏览器接口来管理其消费者设备。
有些嵌入式 Web 服务器甚至可以在小于一平方英寸的空间内实现,但通常只能提供最小特性功能集。下面是两种非常小的嵌入式 Web 服务器实例:
IPic 火柴头大小的 Web 服务器(http://www-ccs.cs.umass.edu/~shri/iPic.html);
NetMedia SitePlayer SP1 以太网 Web 服务器(http://www.siteplayer.com)。