六款小巧的HTTP Server
1、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
2、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
3、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
4、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
5、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
?
?
6、tinyhttpd
?
tinyhttpd is a very simple webserver. It is not for production use; instead it is primarily for a learning tool for persons investigating the http protocol and UNIX system calls.
Despite its simple nature, tinyhttpd supports threading and CGI scripts! For more information, see the accompanying README file and the code itself.
tinyhttpd is tested on Sparc Solaris and will probably not run on other operating systems as-is. However, commenting out the line that does threading may be all that is required to port it. I would like to?autoconfiscate?tinyhttpd at some point in time to help make it more portable.
There is no downloadable release of tinyhttpd, yet. Until then, you can get it by anonymous CVS.
The real homepage for tinyhttpd is the?project page
地址:http://tinyhttpd.sourceforge.net/
總結
以上是生活随笔為你收集整理的六款小巧的HTTP Server的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自己归纳整理的ARM THUMB指令机器
- 下一篇: 重构全面总结