Apache and IIS
webservers alternatives
These are only open source Apache alternatives and there are
many commercial one's also.
Lighhtpd
Security, speed, compliance, and flexibility--all of these
describe LightTPD which is rapidly redefining efficiency of a
webserver; as it is designed and optimized for high performance
environments. With a small memory footprint compared to other
web-servers, effective management of the cpu-load, and advanced
feature set (FastCGI, CGI, Auth, Output-Compression,
URL-Rewriting and many more) LightTPD is the perfect solution
for every server that is suffering load problems. And best of
all it's Open Source licensed under the revised BSD license.
Project Home page :-
http://www.lighttpd.net/
thttpd - tiny/turbo/throttling HTTP
server
thttpd is a simple, small, portable, fast, and secure HTTP
server.
Project Home page :-
http://www.acme.com/software/thttpd/
Nginx
Nginx [engine x] is an HTTP(S) server, HTTP(S) reverse proxy and
IMAP/POP3 proxy server. It has been running on many heavily
loaded Russian sites for more than two years.
Project Home page :-
http://nginx.net/
Mathopd
Mathopd is a very small, yet very fast HTTP server for UN*X
systems.
Mathopd supports useful features of HTTP/1.1, such as persistent
connections, partial responses and pipelining. It does not
support things like content negotation. The latest version of
the software (1.5) also supports CGI/1.1.
Mathopd was designed specifically to run as a single process,
and to never grow in size. When this software was first written
(early 1996) this is something that other HTTP servers were not
very good at.
Project Home page :-
http://www.mathopd.org/
Boa
Boa is a single-tasking HTTP server. That means that unlike
traditional web servers, it does not fork for each incoming
connection, nor does it fork many copies of itself to handle
multiple connections.
Project Home page :-
http://www.boa.org/
Jigsaw
Jigsaw is W3C's leading-edge Web server platform, providing a
sample HTTP 1.1 implementation and a variety of other features
on top of an advanced architecture implemented in Java
Project Home page :-
http://www.w3.org/Jigsaw/
CERN httpd
The CERN httpd (also known as W3C httpd) is a generic public
domain full-featured hypertext server which can be used as a
regular HTTP server. The server is typically running on port 80
to serve hypertext and other documents but it can also serve as
a proxy -- a server on a firewall machine -- that provides
access for people inside a firewall to the outside world. When
running as proxy httpd may be configured to do caching of
documents resulting in faster response times.
Project Home page :-
http://www.w3.org/Daemon/Status.html
NCSA HTTPd
NCSA HTTPd is an HTTP/1.0 compatible server for making hypertext
and other documents available to Web browsers
Project Home page :-
http://hoohoo.ncsa.uiuc.edu/
WEBrick
WEBrick is a Ruby library program to build HTTP servers.
Project Home page :-
http://www.webrick.org/
CL-HTTP
CL-HTTP is a full-featured server for the Internet Hypertext
Transfer Protocol (HTTP 1.1, HTML 2.0, 3.2 & 4.0.1) that comes
complete with source code. The server has been proven in major
production systems, applied in a number of Artificial
Intelligence systems, and used in top research laboratories
around the world
Project Home page :-
http://www.cl-http.org:8001/cl-http/
Cherokee
Cherokee is a very fast, flexible and easy to configure Web
Server. It supports the widespread technologies nowadays:
FastCGI, SCGI, PHP, CGI, TLS and SSL encrypted connections,
Virtual hosts, Authentication, on the fly encoding, Apache
compatible log files, and much more.
Project Home page :-
http://www.0x50.org/
Yaws
Yaws is a HTTP high perfomance 1.1 webserver particularly well
suited for dynamic-content webapplications. Two separate modes
of operations are supported.
Standalone mode where Yaws runs as a regular webserver daemon.
This is the default mode.
Embedded mode where Yaws runs as an embedded webserver in
another erlang application.
Yaws is entirely written in Erlang furthermore it is a
multithreaded webserver where one Erlang light weight process is
used to handle each client.
Project Home page :-
http://yaws.hyber.org/
Java Webserver
Java Webserver is a Linux/Unix server written in Java. It should
be able to be fast and easy to modify and document. It should
also be fully modular with components ranging from HTML viewing
to CGI running.
Project Home page :-
http://webservjava.sourceforge.net/
RedHTTPD
A web server written for my fourth year project at university.
It is written in C and uses glib 1.2 and libxml2.It is in an
alpha stage currently and may undergo major change before it can
be regarded as stable enough for other people to write modules
for it.
Project Home page :-
http://greatred.pengus.net/program
japach
Japach is simple Web server, providing simple support for CGI
scripts, virtual hosts, and static pages serving. It could be
useful for sites for which Apache is an unnecessarily "big
hammer", and is really easy to configure.
Project Home page :-
http://www.jikos.cz/jikos/japach/
Tornado HTTP Server
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.
Project Home page :-
http://tornado.sourceforge.net/
Reattore HTTP Server
Reattore is an HTTP server that uses the NIO features added in
Java 1.4 to make a good performance, single threaded server.
Designed for static content, it has similar performance to Boa
under reasonable load.
Project Home page :-
http://reattore.sourceforge.net/
mini_httpd
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 and can be
configured to do SSL/HTTPS.
Project Home page :-
http://www.acme.com/software/mini_httpd/
Jetty
Jetty is an Open Source HTTP Servlet Server written in Java. It
is a full featured HTTP/1.1 server and a Servlet container. It
is designed to be small, fast, embeddable and extensible. It
supports HTTP/1.1, servlets 2.3, and JSP 1.2.
Project Home page :-
http://jetty.mortbay.org/
micro_httpd
micro_httpd is a very small Unix-based HTTP server. It runs from
inetd, which means its performance is poor, but for low-traffic
sites, it's quite adequate. It implements all the basic features
of an HTTP server in only 150 lines of code.
Project Home page :-
http://www.acme.com/software/micro_httpd/
shttpd
shttpd is 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.
Project Home page :-
http://www.srnet.cz/~stepan/en/sw/shttpd.shtml
shinyhttpd
Shinyhttpd is a fast, tiny, and minimalist HTTP server daemon
written in C. It supports minimal elements of HTTP/1.0.
Project Home page :-
http://www.cubicsky.com/software.html
Dwarf HTTP Server
Dwarf HTTP Server is a full-featured Web server with a Java
Servlet API 2.2 implementation and JSP support. Since it is
based on the Dwarf framework, it shares its common design
principles: powerful security architecture, modularity and
extensibility, XML-based configuration, uniform logging, and
remote management.
Project Home page :-
http://www.gnome.sk
Bauk
Bauk is a high-performance HTTP server for Unix-like operating
systems. It brings together a rich set of features with real
configurability and ease of administration. It includes advanced
features such as full HTTP/1.1 and CGI/1.1 standard compliance,
virtual hosts, virtual host aliases, URL path, HTTP
authentication, content negotiation, configurable HTTP headers,
execution of CGI programs/scripts, directory browsing, resource
usage quotas, access restriction, configurable HTTP log format
and location, single and multi-process architecture, and many
other features.
Project Home page :-
http://solair.eunet.yu/~kliker/bauk/
Dublet's HTTP Daemon
Dublet's HTTP Daemon is a fully functional Web server, aiming to
defeat Apache in speed and security and match it in
functionality.
Project Home page :-
http://sf.net/projects/dhttpd/
Abyss Web Server
ABYSS aims to be a fully HTTP/1.1 compliant Web server. Its main
design goals are speed, low resource usage, and portability.
ABYSS works on most UNIX based systems and on Win32 systems
(Win95/98/2000/NT/XP).
Project Home page :-
http://www.aprelium.com/
xs-httpd
xs-httpd is a small, fast, non-forking HTTP server that supports
User-CGI, SSL (HTTPS), IPv6, and automatic decompression.
Project Home page :-
http://www.stack.nl/xs-httpd/
DNHTTPD
DNHTTPD is a lightweight and high performance HTTP server
implemented in Perl. It supports the use of virtual hosts and
runs CGI scripts. It's extremely simple to set up and configure,
and performs well under heavy load.
Project Home page :-
http://dnhttpd.sourceforge.net/
nanoweb
Nanoweb is a modular Web server written in PHP. It is designed
to be small, secure, and extensible. It is HTTP/1.1 compliant
and has decent performance, CGI and FastCGI support, a nice
configuration system, name-based virtual hosts, server side
includes, authentication, gzip content encoding support, Apache
combined format and MySQL logging, and many advanced features.
Project Home page :-
http://nanoweb.si.kz/
Soma
Soma is an HTTP/1.1-compatible Web server written in Java. It is
powerful (capable of handling many thousands of requests
simultaneously), configurable, secure, and intelligent. It can
run CGI programs, and has good support for Unix systems.
Project Home page :-
http://soma-server.sf.net
OOWeb
OOWeb is a lightweight, embedded HTTP server for Java
applications that maps objects to URL directories, methods to
pages, and form/query-string arguments as method parameters.
This allows for unparalleled ease in creating, deploying, and
testing Web applications.
Project Home page :-
http://ooweb.sourceforge.net/
PWebs
PWebS is an HTTP server written in Python. It is intended to be
used for testing, but it implements a multi-threaded
architecture, CGI/1.1 with GET and POST methods, supports PHP
through the CGI interface, and directory listing. It also
features a caching system, which stores all pages (static or
dynamically generated) in memory to improve the speed of the
server and reduce the overall load. Requests and server errors
are logged, and the server can drop root privileges to run as a
specific user.
Project Home page :-
http://pwebs.sf.net
neepHttpd
neepHttpd is a small, simple, and efficient HTTP server for
basic usage. It supports CGI through GET, but more methods are
coming up soon. It uses very little memory, and has been tested
successfully under high-bandwidth circumstances.
Project Home page :-
http://www.neep.net/nhttpd/
Leah HTTP Daemon
Leah HTTP Daemon is a Web server strives to do everything a Web
host would want efficiently and quickly. It aims for fast data
transfer, high throughput, low overhead, support for running on
as many architectures and platforms as possible (within reason),
and support for new technologies and standards. It supports SSL/TLS,
CGI, POST/GET, transfer resuming/cache features, templated
directory listings and error pages, IPv6 support, multiple
languages, VHost-specific settings, and more.
Project Home page :-
http://leahhttpd.sourceforge.net/
shttpdj
shttpdj is a small, experimental HTTP server. Its architecture
is modular and flexible. It is especially suitable for embedding
into bigger projects.
Project Home page :-
http://www.srnet.cz/~stepan/en/sw/shttpdj.shtml
fhttpd
fhttpd is an FTP/HTTP server with modules support. Modules run
as separate "looping" processes locally or remotely, and can be
configured to run under separate userids. Locally running
modules can be configured to use fd passing of client's
connection to avoid overhead in sending the response. ~username
URL to directory remapping is supported in HTTP, and can be
configured to access files, run scripts and modules under mapped
user's userid.
Project Home page :-
http://www.fhttpd.org/
webfs
Webfs (a.k.a. webfsd) is a simple HTTP server for purely static
content. You can use it to serve the content of an FTP server
via HTTP, for example. It can also be used to quickly export
some files by starting an httpd server in a few seconds, without
editing config files first. It knows how to use sendfile() on
linux and FreeBSD. There is also sendfile emulation code which
uses read()+write() and a userland bounce buffer; this allows
one to compile and use webfs on systems without sendfile(). The
stripped binary is less then 32Kb, making it great for floppy
distros, recycled hardware, embedded systems (cramfs/romfs/flash
disk) and other resource-limited environments.
Project Home page :-
http://bytesex.org/webfs.html
Hydra
Hydra is a high performance multi-threaded HTTP server. Unlike
traditional multi-threaded Web servers, it uses a constant,
configurable pool of threads, and each thread can handle several
connections by multiplexing the connections. This is even better
than non-blocking servers, since Hydra will use every available
CPU in a multi-CPU system. It also has features such as
host-based virtual hosting, HTTP 1.1 features, CGI 1.1, SSL 3.0,
TLS 1.0, and more. Hydra was based on the Boa Web server.
Project Home page :-
http://hydra.hellug.gr/
darkhttpd
darkhttpd is a secure, lightweight, fast, single-threaded
HTTP/1.1 server for static content.
Project Home page :-
http://dmr.ath.cx/net/darkhttpd/
XWeb HTTP Server
XWeb is a simple Web server which supports CGI scripts written
in Perl and C.
Project Home page :-
http://in.geocities.com/shamit_bagchi/xweb.html
phttpd
Phttpd is a free world wide web server. It uses techniques like
multithreading, memory mapped files, dynamic linking to achive
quick response times, extensibility, and high transfer rates
without consuming huge system resources.
Project Home page :-
http://www.lysator.liu.se/~pen/phttpd/
Athana
Athana is a small, simple standalone Web server written
completely in Python (based on Medusa). It has support for HTTP
multipart requests (file uploading), session handling, and TAL
page templates.
Project Home page :-
http://www.athana.org/
Monkey HTTP Daemon
Monkey HTTP Daemon is a small, powerful, and fast Web server for
Linux written in C. Its features include language support, GET,
POST, and HEAD methods, CGI, PHP4 as CGI, a config file
(optional for every user), a mime.types file, virtual hosts, the
ability to deny URLs and IPs, to run as a different user (such
as nobody), serve users home directories, resume, and more.
Project Home page :-
http://monkeyd.sourceforge.net
Kritton
Kritton is an HTTP daemon for UNIX boxes. It is quite efficient
and supports most of the HTTP protocol. Although it is not
bloated, it does include some useful features, such as CGI. It
does not abuse system resources. However, Kritton is still in
its infancy.
Project Home page :-
http://kritton.sourceforge.net/
gatling
gatling is a high-performance HTTP and FTP server. It is small,
fast, and scalable, and uses platform-specific performance and
scalability APIs. It supports connection keep-alive, el-cheapo
virtual domains (similar to thttpd), IPv6, and Content-Range
(not the full specs, just a-b or a-byte ranges).
Project Home page :-
http://www.fefe.de/gatling/
zawhttpd
zawhttpd is a mini Web server that features HTTP/1.0 and 1.1
support, keep-alive persistent connections, IPv6 support, GET
and HEAD requests, chunked encoding and content-range, directory
listing, basic authentication, access logging, daemon mode, and
more. Almost all options must be configured at compile time, as
there is no runtime configuration file.
Project Home page :-
http://www.norz.org/zawhttpd.html
muhttpd
muhttpd (mu HTTP deamon) is a simple but complete Web server
written in portable ANSI C. It supports static pages, CGI
scripts, and MIME type based handlers. It drops privileges
before accepting any connections, and can log received requests.
It has been tested on OpenBSD, GNU/Linux, NetBSD, FreeBSD, Mac
OS X, and Cygwin. It runs successfully on 32-bits, 64-bit,
little endian, and big endian systems.
Project Home page :-
http://inglorion.net/software/muhttpd/