httpd is a simple httpd.

features:
- http/1.0, http/1.1 (keep-alive, chunked responses).  no "http/0.9".
- cgi and scgi support
- virtual hosts
- determining content-type based on file extension
- error/access logging
- index file serving, html directory listings
- http basic authentication
- "range" requests, for random access to files
- redirections with regular expressions
- configuration in attrdb format
- as compliant as possible, where reasonable
- mindful of security

see the manual page for full documentation


# install

to install this software, make sure there is a mkconfig file in
this directory.  you can symlink/bind the one from your inferno
installation.  next, type "mk install".  httpd depends on package
"http", the http library, published using mercurial.  get it by:

	hg clone static-http://www.ueber.net/who/mjl/hg/http/


# latest version

this code is kept up to date using mercurial, to get a fresh copy:

	hg clone static-http://www.ueber.net/who/mjl/hg/httpd/


# licence

all files written by me (i.e. all except the rfcs in doc/) are
in the public domain.  for bugs, questions, comments, etc., contact
me at mechiel@ueber.net or mechiel@xs4all.nl.


# testing/todo

doc/testing.txt can be used for testing.  it has to be done manually,
enough corner cases have not been tested, but quite a few have.

todo:
- support transfer-encoding chunked and compressed content-encodings from client?
- check for security issues with http
- transparent compression?
- connection rate limiting?
- think of ssl?
- try to fix dir listings for paths with multiple slashes in them.  firefox breaks on them, is firefox right?
- test with other browsers
