Comparison of lightweight web servers
Encyclopedia
Lightweight web servers are web server
s which have been designed to run with very small resource overhead because of hardware, environment, or simply for the challenge of it.
Many of these servers have been created as a mental exercise to determine if a modern webserver could be written to run on limited resources such as those provided in a graphing calculator
, a Commodore 64
, or in 64 kB (64 KiB
) total of memory. Others have been written as commercial or open source endeavors to create webservers with low overhead for embedded systems
(network router configuration pages) or low memory requirements.
Web server
Web server can refer to either the hardware or the software that helps to deliver content that can be accessed through the Internet....
s which have been designed to run with very small resource overhead because of hardware, environment, or simply for the challenge of it.
Many of these servers have been created as a mental exercise to determine if a modern webserver could be written to run on limited resources such as those provided in a graphing calculator
Graphing calculator
A graphing calculator typically refers to a class of handheld calculators that are capable of plotting graphs, solving simultaneous equations, and performing numerous other tasks with variables...
, a Commodore 64
Commodore 64
The Commodore 64 is an 8-bit home computer introduced by Commodore International in January 1982.Volume production started in the spring of 1982, with machines being released on to the market in August at a price of US$595...
, or in 64 kB (64 KiB
Kibibyte
The kibibyte is a multiple of the unit byte for quantities of digital information. The binary prefix kibi means 1024; therefore, 1 kibibyte is . The unit symbol for the kibibyte is KiB. The unit was established by the International Electrotechnical Commission in 1999 and has been accepted for use...
) total of memory. Others have been written as commercial or open source endeavors to create webservers with low overhead for embedded systems
Embedded HTTP server
An embedded HTTP server is a component of a software system that implements the HTTP protocol. Examples of usage within an application might be:* To provide a thin-client interface for a traditional application.....
(network router configuration pages) or low memory requirements.
Overview
A list of notable lightweight web servers follows:Server | Creator/Developer Software developer A software developer is a person concerned with facets of the software development process. Their work includes researching, designing, developing, and testing software. A software developer may take part in design, computer programming, or software project management... |
Operating Systems Operating system An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system... |
Development Language Programming language A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely.... |
Free software Free software Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do... |
Software license | Size (kB) of .tar Tar (file format) In computing, tar is both a file format and the name of a program used to handle such files... file |
Last release version | Release date |
---|---|---|---|---|---|---|---|---|
Boa Boa (web server) Boa is an open-source, small-footprint web server that is suitable for embedded applications. Originally written by Paul Phillips, it is now maintained by Larry Doolittle and Jon Nelson.Slashdot and Fotolog use Boa to serve images.... |
Paul Phillips Paul Phillips (poker player) Paul Phillips is an American entrepreneur and poker player.-Programming:Phillips wrote the Boa web server while attending the University of California, San Diego, but no longer maintains it... |
Unix | C, Perl Perl Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular... |
GPL GNU General Public License The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project.... 1 or above |
870 | 0.94.14rc21 | 2005-02-23 | |
Cherokee Cherokee (Webserver) Cherokee is an open-source Cross-platform Web server that runs on Linux, BSD variants, Solaris, Mac OS X, and Microsoft Windows. It is a lightweight, high-performance Web Server/reverse proxy licensed under the GNU General Public License. Its goal is to be fast and fully functional yet still light... |
Álvaro López Ortega | Windows, Mac OS X Mac OS X Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems... , GNU/Linux, Solaris, BSD |
C C (programming language) C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system.... |
GPL GNU General Public License The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project.... |
16440 | 1.0.18 | 2011-01-19 | |
Hiawatha Hiawatha webserver Hiawatha is a secure webserver available for multiple platforms. It has been developed by Hugo Leisink since 2002.-History:Hiawatha started in January 2002 as a very small webserver, suitable for servers with old hardware. It was written for internet servers in student houses in Delft... |
Hugo Leisink | Linux Linux Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds... , BSD, Mac OS X Mac OS X Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems... , Windows, Haiku os |
C | GPL GNU General Public License The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project.... 2 |
1200 | 7.8.2 | 2011-11-18 | |
HTTP File Server HTTP File Server HTTP File Server, otherwise known as HFS, is a free web server specifically designed for publishing and sharing files.The complete feature set differs from other web servers; it lacks some common features, like CGI, but includes, for example, counting file downloads. It is even advised against... |
Massimo Melina (aka rejetto) | Windows | Delphi | GPL GNU General Public License The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project.... |
600 | 2.2f | 2009-02-17 | |
IIS Express | Microsoft Microsoft Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions... |
Windows | ? | Closed source Proprietary software Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary... |
3985 | 7.5 | 2011-01-18 | |
KLone KLone (web server) KLone is an open-source, small-footprint web server that is suitable for embedded applications.As of May 2011, KLone has :* Core features** Multiplatform HTTP and HTTP/S** Small footprint... |
Koan Logic Srl | Most platforms | C C (programming language) C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system.... |
GPL GNU General Public License The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project.... |
130 | 2.4.0 | 2011-05-02 | |
lighttpd Lighttpd lighttpd is an open-source web server more optimized for speed-critical environments than common products while remaining standards-compliant, secure and flexible... |
Jan Kneschke | Unix, Linux, Windows | C C (programming language) C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system.... |
BSD BSD licenses BSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named.... |
3520 | 1.4.29 | 2011-07-03 | |
Mongrel | Zed A. Shaw | Unix, Linux, Windows | Ruby Ruby (programming language) Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto... |
GPL GNU General Public License The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project.... 2 or Ruby License |
400 | 1.1.5 | 2008-05-22 | |
NanoHTTPD NanoHTTPD NanoHTTPD is an open-source, small-footprint web server that is suitable for embedded applications, written in the Java 1.1 programming language. The source code consists of a single .java file... |
Jarno Elonen | Java enabled, including mobile | Java Java (programming language) Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities... |
Modified BSD BSD licenses BSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named.... |
33 | 1.24 | 2011-08-04 | |
nginx Nginx nginx is a Web server and a reverse proxy server for HTTP, SMTP, POP3 and IMAP protocols, with a strong focus on high concurrency, performance and low memory usage. It is licensed under a BSD-like license and it runs on Unix, Linux, BSD variants, Mac OS X, Solaris, and Microsoft Windows.- Overview... |
Igor Sysoev | Unix-like, Windows | C C (programming language) C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system.... |
BSD BSD licenses BSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named.... |
3960 | 1.0.6 | 2011-09-05 | |
Perlbal Perlbal Perlbal is a Perl-based reverse proxy load balancer and web server. Perlbal is maintained by a group connected to Danga Interactive. The program is in common use by large web sites to distribute the load over a number of servers.... |
Brad Fitzpatrick Brad Fitzpatrick Bradley Joseph "Brad" Fitzpatrick , is an American programmer. He is best known as the creator of LiveJournal and is the author of a variety of free software projects such as memcached.... |
Any OS with Perl | Perl Perl Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular... |
GPL GNU General Public License The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project.... / Artistic Artistic License The Artistic License refers most commonly to the original Artistic License , a software license used for certain free and open source software packages, most notably the standard Perl implementation and most CPAN modules, which are dual-licensed under the Artistic License and the GNU General Public... |
590 | 1.73 | 2009-10-13 | |
TJWS | Dmitriy Rogatkin | Java enabled, including mobile | Java Java Java is an island of Indonesia. With a population of 135 million , it is the world's most populous island, and one of the most densely populated regions in the world. It is home to 60% of Indonesia's population. The Indonesian capital city, Jakarta, is in west Java... |
BSD | 105688 | 1.93 | 2011-10-10 | |
MochiWeb | ? | Erlang VM | Erlang Erlang Erlang may refer to:* Agner Krarup Erlang , a mathematician and engineer after whom several concepts are named** Erlang , a unit to measure traffic in telecommunications or other domains... |
? | ? | ? | ? | |
thttpd Thttpd thttpd is an open source software web server from ACME Laboratories, designed for simplicity, a small execution footprint and speed. thttpd is single-threaded and portable: it compiles cleanly on most Unix-like operating systems, including FreeBSD, SunOS 4, Solaris 2, BSD/OS, Linux, and OSF/1... |
Acme Labs | Unix | C | BSD BSD licenses BSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named.... |
406.0 | 2.25b | 2003-12-29 | |
Tntnet Tntnet Tntnet is a free in C++ coded Web server, which enables other C++-programs to bundle requests modules. This way, users are enabled to develop Web applications in C++... |
Tommi Mäkitalo | Unix | C++ C++ C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell... |
LGPL | ? | ? | ? | |
UIP UIP (micro IP) The uIP is an open source TCP/IP stack capable of being used with tiny 8- and 16-bit microcontrollers. It was initially developed by Adam Dunkels of the "Networked Embedded Systems" group at the Swedish Institute of Computer Science, licensed under a BSD style license, and further developed by a... |
Adam Dunkels | Embedded 8bit | C | ? | ? | ? | ||
Server | Creator/Developer Software developer A software developer is a person concerned with facets of the software development process. Their work includes researching, designing, developing, and testing software. A software developer may take part in design, computer programming, or software project management... |
Operating Systems Operating system An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system... |
Development Language Programming language A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely.... |
Open source Open source The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology... |
Software license | Size (kB) of .tar Tar (file format) In computing, tar is both a file format and the name of a program used to handle such files... file |
Last release version | Release date |
Operating system support
Server | Windows Microsoft Windows Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal... |
Linux Linux Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds... |
Mac OS X Mac OS X Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems... |
BSD | Solaris | QNX QNX QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. The product was originally developed by Canadian company, QNX Software Systems, which was later acquired by Canadian BlackBerry-producer Research In Motion.-Description:As a microkernel-based... |
standalone software |
---|---|---|---|---|---|---|---|
Boa Boa (web server) Boa is an open-source, small-footprint web server that is suitable for embedded applications. Originally written by Paul Phillips, it is now maintained by Larry Doolittle and Jon Nelson.Slashdot and Fotolog use Boa to serve images.... |
|||||||
Cherokee Cherokee (Webserver) Cherokee is an open-source Cross-platform Web server that runs on Linux, BSD variants, Solaris, Mac OS X, and Microsoft Windows. It is a lightweight, high-performance Web Server/reverse proxy licensed under the GNU General Public License. Its goal is to be fast and fully functional yet still light... |
|||||||
Hiawatha Hiawatha webserver Hiawatha is a secure webserver available for multiple platforms. It has been developed by Hugo Leisink since 2002.-History:Hiawatha started in January 2002 as a very small webserver, suitable for servers with old hardware. It was written for internet servers in student houses in Delft... |
|||||||
HTTP File Server HTTP File Server HTTP File Server, otherwise known as HFS, is a free web server specifically designed for publishing and sharing files.The complete feature set differs from other web servers; it lacks some common features, like CGI, but includes, for example, counting file downloads. It is even advised against... |
|||||||
IIS Express | |||||||
KLone KLone (web server) KLone is an open-source, small-footprint web server that is suitable for embedded applications.As of May 2011, KLone has :* Core features** Multiplatform HTTP and HTTP/S** Small footprint... |
|||||||
lighttpd Lighttpd lighttpd is an open-source web server more optimized for speed-critical environments than common products while remaining standards-compliant, secure and flexible... |
|||||||
Mongrel | |||||||
NanoHTTPD NanoHTTPD NanoHTTPD is an open-source, small-footprint web server that is suitable for embedded applications, written in the Java 1.1 programming language. The source code consists of a single .java file... |
|||||||
nginx Nginx nginx is a Web server and a reverse proxy server for HTTP, SMTP, POP3 and IMAP protocols, with a strong focus on high concurrency, performance and low memory usage. It is licensed under a BSD-like license and it runs on Unix, Linux, BSD variants, Mac OS X, Solaris, and Microsoft Windows.- Overview... |
|||||||
Perlbal Perlbal Perlbal is a Perl-based reverse proxy load balancer and web server. Perlbal is maintained by a group connected to Danga Interactive. The program is in common use by large web sites to distribute the load over a number of servers.... |
|||||||
TJWS | |||||||
thttpd Thttpd thttpd is an open source software web server from ACME Laboratories, designed for simplicity, a small execution footprint and speed. thttpd is single-threaded and portable: it compiles cleanly on most Unix-like operating systems, including FreeBSD, SunOS 4, Solaris 2, BSD/OS, Linux, and OSF/1... |
|||||||
Tntnet Tntnet Tntnet is a free in C++ coded Web server, which enables other C++-programs to bundle requests modules. This way, users are enabled to develop Web applications in C++... |
|||||||
UIP UIP (micro IP) The uIP is an open source TCP/IP stack capable of being used with tiny 8- and 16-bit microcontrollers. It was initially developed by Adam Dunkels of the "Networked Embedded Systems" group at the Swedish Institute of Computer Science, licensed under a BSD style license, and further developed by a... |