SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files
                    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/


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.