Skip to content
This repository has been archived by the owner on Dec 28, 2022. It is now read-only.

peter-leonov/mini_httpd

Repository files navigation

	            mini_httpd - small HTTP server
		      version 1.19 of 19dec2003

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, including:

  * GET, HEAD, and POST methods.
  * CGI.
  * Basic authentication.
  * Security against ".." filename snooping.
  * The common MIME types.
  * Trailing-slash redirection.
  * index.html, index.htm, index.cgi
  * Directory listings.
  * Multihoming / virtual hosting.
  * Standard logging.
  * Custom error pages.

It can also be configured to do SSL/HTTPS.

mini_httpd was written for a couple reasons.  One, as an experiment
to see just how slow an old-fashioned forking web server would be
with today's operating systems.  The answer is, surprisingly, not
that slow - on FreeBSD 3.2, mini_httpd benchmarks at about 90% the
speed of Apache.  The other main reason for writing mini_httpd was
to get a simple platform for experimenting with new web server
technology, for instance SSL.

See the manual entry for more details.

Files in this distribution:

    README		this
    Makefile		guess
    mini_httpd.c	source file for server
    mini_httpd.8	manual entry for server
    version.h		version defines
    port.h		portability defines
    mime_types.txt	list of MIME types
    htpasswd.c		source file for password changer
    htpasswd.1		manual entry for password changer
    index.html		sample index file

To build: If you're on a SysV-like machine (which includes old Linux systems
but not new Linux systems), edit the Makefile and uncomment the SYSVLIBS line.
If you're doing SSL, uncomment those lines too.  Otherwise, just do a make.

On Red Hat Linux systems you can use RPM to install mini_httpd, like so:
    cd /usr/src/redhat/SOURCES
    wget http://www.acme.com/software/mini_httpd/mini_httpd-1.19.tar.gz
    rpm -ta mini_httpd-1.19.tar.gz
    rpm -i /usr/src/redhat/RPMS/i386/mini_httpd-1.19-1.i386.rpm

Feedback is welcome - send bug reports, enhancements, checks, money
orders, etc. to the addresses below.

    Jef Poskanzer  jef@mail.acme.com  http://www.acme.com/jef/