This is a simple http server for mostly static content. You can use it to serve the content of a ftp server via http for example. It is also nice to export some files the quick way by starting a http server in a few seconds, without editing some config file first.
It uses sendfile() and knows how to use sendfile on linux and FreeBSD. Adding other systems should'nt be difficuilt. There is some sendfile emulation code which uses read()+write() and a userland bounce buffer, this allows to compile and use webfs on systems without sendfile() too.
Recent versions also got limited CGI support (GET requests only) and optional SSL support.
You shouldn't use versions older than 1.20 because of recent security fixes.
webfs is available for download here.
Features & Design
It is supported to serve just files and to do this in a good and fast way. Don't expect much more features that it has right now, I want keep it small and simple.
It is a single-process server, based on select() and non-blocking I/O. It supports keep-alive, byte ranges, virtual hosts and IPv6. It generates automatically listings for directories. It has no config file, just a few command line switches.