java輕量級Http Server


lighttpd

官方主頁:www.lighttpd.net
Lighttpd是一個德國人領導的開源軟件,其根本的目的是提供一個專門針對高性能網站,安全、快速、兼容性好並且靈活的web server環境。具有非常低的內存開銷,cpu占用率低,效能好,以及豐富的模塊等特點。
lighttpd是眾多OpenSource輕量級的web server中較為優秀的一個。支持FastCGI, CGI, Auth, 輸出壓縮(output compress), URL重寫, Alias等重要功能,而Apache之所以流行,很大程度也是因為功能豐富,在lighttpd上很多功能都有相應的實現了,這點對於apache的用戶是非常重要的,因為遷移到lighttpd就必須面對這些問題。
實用起來lighttpd確實非常不錯,上文提到的apache overload的問題,用lighttpd就完全解決了。apache主要的問題是密集並發下,不斷的fork()和切換,以及較高(相對於lighttpd而言)的內存占用,使系統的資源幾盡枯竭。而lighttpd采用了Multiplex技術,代碼經過優化,體積非常小,資源占用很低,而且反應速度相當快。
利用apache的rewrite技術,將繁重的cgi/fastcgi任務交給lighttpd來完成,充分利用兩者的優點,現在那台服務器的負載下降了一個數量級,而且反應速度也提高了一個甚至是2個數量級!
下面是他們官方站點上的一段話:
"lightTPD is the BEST webserver out there, much faster than apache and much much much more flexible/configurable/secure than tux, and its fcgi php support is simply unbeatable."

 

thttpd
官方網站: http://www.acme.com/software/thttpd/
thttpd是一個非常小巧的輕量級web server,它非常非常簡單,僅僅提供了HTTP/1.1和簡單的CGI支持,在其官方網站上有一個與其他web server(如Apache, Zeus等)的對比圖+Benchmark,可以參考參考。此外,thttpd 也類似於lighttpd,對於並發請求不使用fork()來派生子進程處理,而是采用多路復用(Multiplex)技術來實現。因此效能很好。
Thttpd支持多種平台,如FreeBSD, SunOS, Solaris, BSD, Linux, OSF等。對於小型web server而言,速度快似乎是一個代名詞,通過官方站提供的Benchmark,可以這樣認為:thttpd至少和主流的web server一樣快,在高負載下更快,因為其資源占用小的緣故。
Thttpd還有一個較為引人注目的特點:基於URL的文件流量限制,這對於下載的流量控制而言是非常方便的。象Apache就必須使用插件實現,效率較thttpd低。
 
nanohttpd:
http://nanohttpd.com/ 
https://github.com/NanoHttpd/nanohttpd
The tiny, easily embeddable HTTP server in Java
NanoHTTPD是一個優秀的嵌入式Web服務器,且用java語言編寫的,可以應用於Android平台以及其它支持Java的平台,並且支持servlet,可以方便第三方開發人員在此基礎上做開發。 
使用NanoHTTPD在android實現web迷你服務器:http://my.oschina.net/u/256033/blog/122863
 
shttpd
官方網站: http://shttpd.sourceforge.net/ Shttpd是另一個輕量級的web server,具有比thttpd更豐富的功能特性,支持CGI, SSL, cookie, MD5認證, 還能嵌入(embedded)到現有的軟件里。最有意思的是不需要配置文件! 
由於shttpd可以嵌入其他軟件,因此可以非常容易的開發嵌入式系統的web server,官方網站上稱shttpd如果使用uclibc/dielibc(libc的簡化子集)則開銷將非常非常低。以下是其特點:
Stand-alone server, or embeddable into existing C/C++ program 
GET, POST, PUT, DELETE methods 
CGI 
SSL 
Digest (MD5) authorization 
Multiple (and user defineable) index files 
Directory listing 
Standard logging 
Cookies 
inetd mode 
User-defineable mime types 
No configuration files 
No external dependencies
由於shttpd可以輕松嵌入其他程序里,因此shttpd是較為理想的web server開發原形,開發人員可以基於shttpd開發出自己的webserver!
 
 
Tornado 
網站:http://sourceforge.net/projects/tornado/
Tornado HTTP Server is a multi-threaded web server written in Java. It aims to be secure, efficient, and portable, and provide a full implementation of HTTP 1.1. Advanced features such as GZip output compression and web-based administration are planned.
 

SimpleWeb

Simple是一個真正可嵌入式的基於Java的Http開源引擎.它提供一個基於組件可擴展的框架,這個框架可以用來裝載類似於Java Servlet這樣的服務. Simple提供了一個真正的異步服務模型。

其他server匯總:
http://sourceforge.net/directory/internet/www/httpservers


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM