ABYSS aims to be a fully HTTP/1.1 compliant web server. Its main design goals are speed, low resource usage and portability.
AHD is a small, fast, secure, single-tasking webserver which supports modules and CGI.
Alaya is a primitive chrooting webserver with basic webdav support. It can serve https and http, can authenticate using pam or /etc/shadow or /etc/passwd, or using it's own authentication files that allow for 'native' users that only have access to alaya content.
Camlserv is a lightweight server written in Ocaml for highly interactive webpages or even online browser based games. The server can already be used as a fast frontend to a MySQL database. The software should work on *nix and windows.
cdServer is a simple HTTP server based on the standard Python library module SimpleHTTPServer designed to serve (static) contents off a CD-ROM. cdServer provides a simple interface for special (interactive) functions implemented in an external application program, e.g. search functions for a database.
The cghttpd software is a Coronet and Guasi based trivial Web server developed to test the level of performance that can be achieved with such a solution. It is by far not a complete Web server, nor a server that you want to expose to a public network.
Cheetah Server is a very minimal web server for testing small local sites, or to continue to serve some content while configuring your primary web server. It has very few features (and is single-threaded with optional fork support), except that it will serve files in a directory under a user-specified port, does not require root access and can serve Last Modified information to aid caching. Cheetah has less than 1000 lines of C code.
darkhttpd is a secure, lightweight, fast, single-threaded HTTP/1.1 server for static content.
Das Schaefchen is a lightweight HTTP server. It supports the minimum requirements of the HTTP/1.1 protocol and virtual hosts, basic authentication (which can be used to protect either files or directories), directory listing, and byte ranges. It is an event-driven server that runs as a single process with a single thread using non-blocking I/O. It uses epoll as the event notification mechanism to multiplex control between active connections.
dhttpd is a minimal server that has support for virtual hosting, QOS, CGI scripts, and tries to be secure. It also has an Apache compatible access log, and only needs a tiny memory footprint.
Doug Neal's HTTP Daemon. It's goal is to be a lightweight web server with some cool unique features
Droopy's sole purpose is to let others upload files to your computer. It is a small and easy to use script.
EasyHTTPD is a drop in C++ class to implement an HTTP 1.0 Server. It is intended use allows applications to be controlled by a browser. HTML template files make dynamic content generation a snap.
edna allows you to access your MP3 collection from any networked computer. This software streams your MP3s via HTTP to any MP3 player that supports playing off a remote connection (e.g. Winamp, FreeAmp, Sonique, XMMS, WMP).
fnord is a small (13k static Linux-x86 binary without CGI, 18k with CGI) server, that has CGI, keep-alive and virtual hosting support.
Hocuspocus is a small and extensible Web server for controlling key Linux applications remotely via a Web server. This means you can adjust things like system volume from any browser, including a WiFi enabled PDA such as the iPhone.
httcld provides a very small HTTP server with an embedded Tcl interpreter. In addition to static HTML and image files, it serves .htcl files, which are HTML with embedded tcl code. The Tcl is executed on the server, and the resulting output is embedded in the stream sent back to the client. In addition, variables in the Tcl namespace may be set and retrieved directly, say by an AJAX script.
httpico is a small, hacky http server for Unix-like systems
ihttpd is a tiny and simple http-server that runs under inetd. It can serve static entities and dynamic (cgi-bin) entities. It is written in C an is less than 800 lines making it ideal for trying out new implementations
im-httpd is an ultra minimal lightning fast HTTP server. On Linux, compiles to a 7k binary when linked against glibc. Ideal for serving lots of small static files.
in.www is a simple inetd-based Web server. It supports HTTP 1.0 and CGI 1.0. It is written in pure C with no dependencies, extremely light on resources (at less than 100Kb per process), and secure. It is ideal for embedded devices with minimal resources, such as the Linksys NSLU2.
japach is a simple webserver, providing simple support for CGI scripts, virtual hosts and static pages serving. Could be useful for sites for which apache is unnecessarily "big hammer", and is really easy to configure.
Jellybean is a Perl Object Server with an HTTP interface. The point of an Object Server is to provide a framework which you can use to write lightweight and desktop-appropriate applications.
Kernux is a fully kernel-mode HTTP daemon for Linux. It works as a kernel module, like a device driver. It uses low-level socket operations to handle the client requests.
LeahHTTPd is a small but powerful multiplatform/multiarch webserver daemon.
lighttpd is a secure, fast, compliant, and very flexible Web server which has been optimized for high-performance environments.
lns.http is a simple framework for writing Common LISP Web applications. It handles the incoming connections, parses HTTP headers and queries, and finally hands control over to your URL handler. It is an HTTP/1.1 compatible Web server, but tries to achieve compatibility with lesser (down to the informal HTTP/0.9) clients.
A tiny web server in some 600 lines of C, written as an educational project and as a simple standalone application to test CGI programs.
MHTTPD is fast, simple and very small. It supports HTTP GET and POST method (that's all you need for more than 90% of time). It also supports HTTP Basic Authentication. Authentication can be performed by name and password lookup in a text file (userid:Unix_crypted_password) or from A LDAP server directly.
mini-httpd is a tiny web server designed for optimal performance, high security, and as little use of system resources as possible. Unlike most other web servers, mini-httpd does not require more than one process or system thread in order to handle several requests concurrently.
mini_httpd is a small HTTP server. Its performance is not great, but for low or medium traffic sites it's quite adequate. It implements all the basic features of an HTTP server.
MiniWebsvr is a small Web server that aims to one day be embeddable. It supports static Web pages, directory listing, HTTP MIME encodings, GET/HEAD/OPTIONS, and logging to disk. It has a small memory footprint, is multi-threaded, and supports command line options, conditional GET:, If-Modified-Since:, and range-bound downloads (download resuming).
Monkey HTTP Daemon
Monkey HTTP Daemon is a small Web server written in C featuring: CGI/PHP support, multihreading, config files, mime types, virtualhost, deny by URL/IP etc.
muhttpd (mu HTTP deamon) is a simple but complete web server written in portable ANSI C. It supports static pages, CGI scripts, and MIMEtype based handlers. It drops privileges before accepting any connections, and it can log received requests.
Naken Web is a mini-webserver capable of serving out static Web pages along with images from an AVI/MJPEG file or a video4linux2 compatible camera. Video can be served out as either single frames with a client pull or as streaming MJPEG with a server push. Naken Web is small enough to run on an embedded computer.
NanoHttpd is a lightweight HTTP server designed for embedding in other applications. It's only one Java file, in two "flavors", one strictly Java 1.1 compatible, and one at "current" standards.
Naridesh is a Web server written in Perl. It supports directory browsing, username/password security, file download, and plugins.
Null httpd is a very small, simple and multithreaded web server for Linux and Windows.
OpenAngel is a HTTP/1.0 ready, highly secure webserver written in perl. Security was the primary goal in its development, that's why some functionality is missing from it - so it's very simple. It's available only for file-distribution.
PhotoGrotto is a specialized Web server for serving photos stored in a database such as PostgreSQL. The images can be resized and have their encoding changed through the arguments passed in the request.
The aim of pServ (pico Server) is to create a portable, small webserver. Coded in portable C with Unix being the main reference platform, but porting is encouraged.
Ranquel is a free little http server written in Perl intended to be small, easy to install and configure, and portable. Ranquel is based on Doug Neal's DNHTTPD release 0.6.
RedHTTPD is a web server that was written for academic purposes.
An experimental HTTP-Server for static contents that primarily aims to be fast. rhttpd does not fully comply to the HTTP Protocol Version 1.1 but supports: Keep-Alive, single Range-Request, HTTP Pipelines, virtual hosts, and304 Not-Modified Header.
Scrinchy is a tiny (26kB) Web server that is capable of serving HTML, JPG, GIF, TIFF, PNG, and various other file types, as well as running Perl, Python and (theoretically) PHP scripts externally and passing GET params and cookies to those scripts. Scrinchy includes a built-in scripting language presently called Sy, which is stack-based because stack-based languages are often smaller and faster than interpreted languages which require elaborate parsers.
(commercial) Seminole is a compact, portable, and modular webserver that is designed with a small memory footprint in mind. In fact, on a typical microprocessor, Seminole has a code footprint of 20Kb with all features enabled.
sh-httpd is a shell script-based Web server that sports a CGI 1.1 interface.
Shttp is a simple, partial HTTP/1.1 implementation built using the ServerKit framework. It's a little over 1000 lines of code, and serves well as a minimal lightweight HTTP server in closed/controlled/static content settings, as well as a learning tool for those interested in developing TCP-service-providing modules using ServerKit. Illustrating how easy it is to build efficient server programs using ServerKit, this module has demonstrated 7200 requests/second in AB benchmarks.
shttpd is a very small, simple, and perhaps even fast HTTP server. Is intended mainly for personal use and can handle only static pages. It supports a reasonable subset of HTTP/1.0 and HTTP/1.1 with no virtual servers, conditional GET, or persistent connections.
Small HTTP server
Small HTTP server is a universal server program that includes an HTTP server that supports virtual hosts and virtual directories, CGI 1.1, SSI, and more; an HTTP/FTP proxy server with continued downloads, support for GZip requests, and unpacking on the fly with an external Zlib library; a DNS server; an FTP server with virtual directories for FTP; a POP3 server; and an SMTP server with lots of antispam features. It provides detailed statistics and Web administration.