常用的web服务器软件有哪些
根据Netcraft最近的调查,虽然存在很多不同的Web服务器,但是其中两种Web服务器就占据了90%的份额,这两种Web服务器是Apache和Internet Information Server(IIS)。但是,是不是就没有其他的呢?如果你要了解一个web服务器是怎么运行的。至少它是怎么可以同时服务成千上万的用户的,这
个问题,可能是很多网络服务器编程都要面对的问题。那么他们的源代码呢?很显然IIS是不可能有源代码的,不然微软早就game over了。但是你会说Apache是开源的,是的,它是开源的,但是我觉得等你搞明白了apache的时候,也许是半年之后的事情了,并且你可能会觉得,哦,天啊,原来它是这么
糟糕。所以,如果你希望了解web服务器的工作原理,就需要那些剩下的10%-
web服务器主要提供什么服务轻量级web服务器了,当然了,他们一般都是开源的,并且大部分是使用c和perl写的,还有的是java、php等,也有一些"不著名"的语言。它们比Apache 小得多。如此小的应用程序可以直接记住,系统地、严密地加以考虑,以证明
它们的安全性或可伸缩性。小型Web服务器包括:Cheetah Server,用不到一
千行的C代码编写而成。DustMote,一个非常小的Web服务器,用一个大约3000字节的Tcl源文件实现。fnord,大小取决于平台和配置,不超过20K。虽然很小,但是它支持虚拟主机、CGI和keep-alive。ihttp
d,使用不到800行
的C代码,包括CGI,并通过inetd提供页面。im-httpd,非常小的服务器--
只有大约7 KB,链接到glibc。而且它也非常快。mattows,支持CGI,只有
600行C代码。Scrinchy,虽然很小,不到30KB,但是支持多种脚本编制语言,包括一种特殊用途的、基于栈的Sy脚本语言。ZWS演示了一个即使是使用500
多行带足够注释的zsh(!)编写的应用程序--在这里是一个HTTP 0.9+服务器--也可以有多强大。体积小并不妨碍这些服务器被正式使用。例如,fnord可以
处理数千个同时进行的连接。也许轻量级作为一个类别最令人印象深刻的成就
是高性能服务器:cghttpd是一个小型Web服务器,它被理解为使用2.6系列
内核中可用的异步功能的一个试验品。darkhttpd是一个快速的、单线程的HTTP/1.1服务器。Gatling是为高性能设计的。它的特性包括FTP、IPv6、虚
拟主机、CGI等。Kernux是一个Linux内核模块,它实现了一个HTTP守护进程。lighttpd是使用率排名第五的Web服务器(排名还在上升)。它为很多同时进行
的连接进行了优化:"典型的场景是使用lighttpd作为一个下载(off-load)服
务器,以提供静态内容…"LiteSpeed Web Server是一款轻量级商业Web服务器,强调性能和安全性。LiteSpeed Technologies公司宣传为静态内容提速了
6倍,在解释页面方面也有一定的提高。Miniature JWS,也称tjws,它是基于Java的Web服务器,可以处理servlet、JSP和数千个并发连接,而大小只有
77 KB。它的作者声称它"比Apache 2.x快10%"。Yaws是用Erlang编写的一款高性能HTTP/1.1服务器。有些Web服务器被实现为类或库,以便嵌入到较大的应用程序中。在这些Web服务器当中,我发现特别有趣的有:EHS--"嵌入式HTTP服务器",被设计为一个C++类,用于嵌入到较大的C++应用程序;还有Embedded TCL Web Server,它是一个很普通的Web服务器,支持SSL和Basic Authentication,速度非常快--其作者使它至少与lighthttpd和AOLserver一样快。它是用不到100行Tcl编写的。Python是几种适合不寻常环境的Web服
务器的实现语言,这些Web服务器包括:cdServer是一个小型的、用Python
编写的HTTP服务器,它"被设计用来提供来自CD-ROM的(静态)内容"。它在提
供动态内容方面能力有限。我们有几个涉及不受影响的"live CDs"的项目,在
这些项目中像cdServer之类的工具很关键。edna,一款智能的用Python编写
的MP3服务器,它是用HTTP实现的。还有其他一些用Perl和其他不出名的语
言编写的轻量级Web服务器:Camlserv,用ocaml编写的一个完整的Web服务器,目标是"高度交互式的Web页面"。它由几千行ocaml编写而成,其中大部
分代码都与MySQL和HTML的特殊处理有关。dhttpd用和Apache相同的格式记
录访问。它支持CGI,并具有内建的Perl解释器、虚拟主机、IPv6、带宽管理
和安全性等方面的特性。DNHTTPD是用Perl编写的,用于UNIX。它支持虚拟主机、SSL连接、CGI等。Jellybean是用Perl编写的基于HTTP的Perl Object Server。lns.http是一个Common LISP HTTP/1.1 Web框架。Mongrel是用
Ruby编写的、用于HTTP的一个库和服务器。Nanoweb是用PHP编写的一款快速、健壮的Web服务器。它宣称具有丰富的特性,包括完全遵从HTTP/1.1、访问控制、身份验证、虚拟主机、SSL兼容性等。Naridesh是用Perl编写的Web服务器。OpenAngel是用Perl编写的。它强调的重点是安全性。Xavante是用Lua
编写的HTTP/1.1 Web服务器。XSP是用C#编写的,用于运行ASP.NET。有时候
您可能需要其他一些用C编写的、具有不常见的次要优势的轻量级Web服务器:ABYSS可以在UNIX和Win32之间移植,其"目的是成为完全遵从HTTP/1.1的Web服务器"。它占用的内存很少。Anti-Web HTTPD(也称"Anti-Web"、"awhttpd"和"AW")是一款单进程、无线程、支持CGI的服务器,它强调安全性
和简单性。MHTTPD支持从外部文件或LDAP服务器进行的MHTTPD Basic Authentication。mini-httpd可以在一个系统线程中处理多个并发请求,但是
在主机上占用的内存或CPU很少。Naken Web类似于很多其他的轻量级服务器-
-它支持Basic Authentication、静态内容等--但是它的作者将它设计为用于Webcam操作,并且在Gumstix、WRT54GL、OpenWrt和其他新的平台上运行。
Null httpd是一款多线程的、简单的、可移植的Web服务器。Seminole是一款商业Web服务器,内存需求较小,功能较多。thttpd throttle,支持chroot、Basic Authentication等。Web服务器远远不止是Apache和IIS的天下。您可以发现很多其他的Web服务器,它们很小,易于理解,但是又足够快,可以被
正式使用。这样的Web服务器可以很好地加快您的下一个项目。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论