Apache
Apache
仍然是世界上用的最多的
Web
服务器,市场占有率达
60%
左右。它源于
NCSAhttpd
服务器,当
NCSA
WWW
服务器项目停止后,那些使用
NCSA
WWW
服务器的人们开始交换用于此服务器的补丁,这也是
apache
名称
的由来
(pache
补丁
)
。世界上很多著名的网站都是
Apache
的产物,它的成功之处主要在于它的源代码开放、有一支
开放的开发队伍、支持跨平台的应用
(
可以运行在几乎所有的
Unix
、
Windows
、
Linux
系统平台上
)
以及它的可移植性
等方面。
官方网站:
http://www.apache.org
下载地址:
http://www.eryin.com/Server/Soft/200808/01245.html
T
omcat
Tomcat
是一个开放源代码、运行
servlet
和
JSP
Web
应用软件的基于
Java
的
Web
应用软件容器。
Tomcat
Server
是根据
servlet
和
JSP
规范进行执行的,因此我们就可以说
Tomcat
Server
也实行了
Apache-Jakarta
规范且比绝大多数
商业应用软件服务器要好。
Tomcat
是
Java
Servlet
2.2
和
JavaServer
Pages
1.1
技术的标准实现,是基于
Apache
许可证下开发的自由软件。
Tomcat
是完全重写的
Servlet API 2.2
和
JSP 1.1
兼容的
Servlet/JSP
容器。
Tomcat
使用了
JServ
的一些代码,
特别是
Apache
服务适配器。随着
Catalina
Servlet
引擎的出现,
Tomcat
第四版号的性能得到提升,使得它成为一个值得考虑的
Servlet/JSP
容器,因此目前许多
WEB
服务器都是采用
Tomcat
。
官方网站:
http://tomcat.apache.org
下载地址:
http://www.eryin.com/Server/Soft/200808/02250.html
小型
WEB
服务器
【
micro_httpd - really small HTTP server
】
特点:
*
支持安全的
..
上级目录过滤
*
支持通用的
MIME
类型
*
支持简单的目录
*
支持目录列表
*
支持使用
index.html
作为首页
* Trailing-slash redirection
*
程序总共代码才
200
多行
这个
httpd
适合学习简单的
Web Server
编写学习,
因为它只有一个简单的框架,
只能够处理简单的静态页,可以
考虑用来放静态页。
官方地址:
http://www.acme.com/software/micro_httpd/
下载地址:
http://www.acme.com/software/micro_httpd/micro_httpd_12dec2005.tar.gz
【
mini_httpd - small HTTP server
】
特点:
*
支持
GET
、
HEAD
、
POST
方法
*
支持
CGI
功能
*
支持基本的验证功能
*
支持安全
..
上级目录功能
*
支持通用的
MIME
类型
*
支持目录列表功能
*
支持使用
index.html, index.htm, index.cgi
作为首页
*
支持多个根目录的虚拟主机
*
支持标准日志记录
*
支持自定义错误页
* Trailing-slash redirection
mini_httpd
也是相对比较适合学习使用,大体实现了一个
Web
Server
的功能,支持静态页和
CGI
,能够用来放
置一些个人简单的东西,不适宜投入生产使用。
官方地址:
http://www.acme.com/software/thttpd/
下载地址:
http://www.acme.com/software/mini_httpd/mini_httpd-1.19.tar.gz
【
thttpd - tiny/turbo/throttling HTTP server
】
thttpd
中是一个简单
,
小型
,
轻便
,
快速和安全的
http
服务器
.
简单:它能够支持
HTTP/1.1
协议标准,或者超过了最低水平
小巧:它具有非常少的运行时间,因为它不
fork
子进程来接受新请求,并且非常谨慎的分配内存(性能对比表:
http://www.acme.com/software/thttpd/benchmarks.html
)
便携:它能够在大部分的类
Unix
系统上运行,包括
FreeBSD, SunOS 4, Solaris 2, BSD/OS, Linux, OSF
等等
快速:它的速度要超过主流的
Web
服务器(
Apache, NCSA, Netscape
)
,在高负载情况下,它要快的多
安全:它努力的保护主机不受到攻击,不中断服务器
thttpd
类似于
lighttpd
,
对于并发请求不使用
fork()
来派生子进程处理,
而是采用多路复用
(Multiplex)
技术来实现。
因此效能很好。同时它还有一个特点就是基于
URL
的文件流量限制,这对于下载的流量控制而言是非常方便的。象
Apache
就必须使用插件实现,效率较
thttpd
低。
thttpd
跟
lighttpd
类似,适合静态资源类的服务,比如图片、资源文件、静态
HTML
等等的应用,性能应该比较
好,同时也适合简单的
CGI
应用的场合。
官方地址:
http://www.acme.com/software/thttpd/
下载地址:
http://www.acme.com/software/thttpd/thttpd-2.25b.tar.gz
【
lighttpd - light footprint + httpd = LightTPD
】
Lighttpd
是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好
并且灵活的
web server
环境。具有非常低的内存开销,
cpu
占用率低,效能好,以及丰富的模块等特点。
lighttpd
是众多
OpenSource
轻量级的
web
server
中较为优秀的一个。支持
FastCGI,
CGI,
Auth,
输出压缩
(output
compress), URL
重写
, Alias
等重要功能,
而
Apache
之所以流行,
很大程度也是因为功能丰富,
在
lighttpd
上很多功能
都有相应的实现了,这点对于
apache
的用户是非常重要的,因为迁移到
lighttpd
就必须面对这些问题。
实用起来
lighttpd
确实非常不错,
apache
主要的问题是密集并发下,
不断的
fork()
和切换,
以及较高
(相对于
lighttpd
而言)的内存占用,使系统的资源几尽枯竭。而
lighttpd
采用了
Multiplex
技术,代码经过优化,体积非常小,资源
占用很低,而且反应速度相当快。
利用
apache
的
rewrite
技术,将繁重的
cgi/fastcgi
任务交给
lighttpd
来完成,充分利用两者的优点,现在那台服
务器的负载下降了一个数量级,而且反应速度也提高了一个甚至是
2
个数量级!