原博地址:http://blog.csdn.net/heiyeshuwu/article/details/1753900
偶然看到幾個小巧有趣的Web Server程序,覺得有必要拿來分享一下,讓大家除了知道Apache、IIS之外,原來還有更多有趣的選擇。主要介紹了:micro_httpd、mini_httpd、thttpd、lighttpd、shttpd 等無款小巧好用的httpd。
【 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個數量級!
lighttpd 適合靜態資源類的服務,比如圖片、資源文件、靜態HTML等等的應用,性能應該比較好,同時也適合簡單的CGI應用的場合。
官方地址:http://www.lighttpd.net/下載地址:http://www.lighttpd.net/download/lighttpd-1.4.16.tar.gz
【 SHTTPD - Simple HTTPD 】
Shttpd是另一個輕量級的web server,具有比thttpd更豐富的功能特性,支持CGI, SSL, cookie, md5認證, 還能嵌入(embedded)到現有的軟件里。最有意思的是不需要配置文件! 由于shttpd可以嵌入其他軟件,因此可以非常容易的開發嵌入式系統的web server,官方網站上稱shttpd如果使用uclibc/dielibc(libc的簡化子集)則開銷將非常非常低。
特點:* 小巧、快速、不膨脹、無需安裝、簡單的40KB的exe文件,隨意運行* 支持GET, POST, HEAD, PUT, DELETE 等方法* 支持CGI, SSL, SSI, MD5驗證, resumed download, aliases, inetd模式運行* 標準日志格式* 非常簡單整潔的嵌入式API* dietlibc friendly. NOT that friendly to the uClibc (*)* 容易定制運行在任意平臺:Windows, QNX, RTEMS, UNIX (*BSD, Solaris, Linux)
由于shttpd可以輕松嵌入其他程序里,因此shttpd是較為理想的web server開發原形,開發人員可以基于shttpd開發出自己的webserver!
官方網站:http://shttpd.sourceforge.net/下載地址:http://jaist.dl.sourceforge.net/sourceforge/shttpd/shttpd-1.38.tar.gz
新聞熱點
疑難解答