quite useful, has been in production for quite some time.
shttpd is a simple httpd.
- 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
get the latest version from:
first make sure you have "http", the http library installed, see
make sure you have $ROOT set, now "mk install" to compile and install
when building from within inferno, insert SYSHOST=Inferno and ROOT=
in the mk invocations to override the values in the mkconfig.
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 email@example.com.
some features will not be implemented. for example:
- connection rate limiting. should be done at a higher level, e.g. firewall.
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.
- when responding with chunked data, can we embed an error message in a chunks comment-part when an error with reading the data occurs?
- support transfer-encoding chunked and compressed content-encodings from client?
- check for security issues with http
- 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