mini_httpd icon indicating copy to clipboard operation
mini_httpd copied to clipboard

Mirror of available mini_httpd archives.

            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  [email protected]  http://www.acme.com/jef/