kHTTPd is a http-daemon (webserver) for Linux. kHTTPd is different from other
webservers in that it runs from within the Linux-kernel as a module (device-driver).
kHTTPd handles only static (file based) web-pages, and passes all requests
for non-static information to a regular userspace-webserver such as Apache or Zeus.
Static web-pages are not a very complex thing to serve, but these are very
important nevertheless, since virtually all images are static, and a large
portion of the html-pages are static also. A "regular" webserver has little
added value for static pages, it is simply a "copy file to
network"-operation. The Linux-kernel is very good at this, for example the
nfs (network file system) daemon also runs in the kernel.
By "accelerating" the simple case within the kernel, userspace daemons can
do what they are very good at: Generating user-specific, dynamic content.
There is a mailing-list for kHTTPd, visit http://zgp.org/mailman/listinfo/khttpd-users
for more information.
Note: As of kernel 2.3.14, kHTTPd is integrated into the kernel. Kernel
2.3.14 integrates the equivalent of version 0.1.6b. Any newer versions
available for download here are to be regarded "unstable" and for testing
About version 0.1.6c: This version contains, on request, a first draft of
a logging-system that is SPECWeb96 compliant. This is currently very clumsy,
not fast and not very well tested.
Although HTTP/1.1 compliance is scheduled for Linux 2.5.x, persistent
connections are available as a test patch here. This is, however, a highly experimental feature.