Monday, November 27, 2006

nhttpd Project Created

Welcome to the development news blog for nhttpd. This will document the progress of nhttpd development. The project is hosted by Google Code at http://code.google.com/p/nhttpd/.

The goal of this project is an extensible, powerful HTTP/1.1 server written in C for POSIX-compliant systems. Of course, this sounds a lot like Apache, but new features are planned. For instance, the server will be capable of privilege separation. This means that two applications running on the same server can run under different credentials. This will be useful for hosting services and any server that has multiple users on it. This also means that applications running on the server do not need to have access to anything that the web server itself has access to.

Threads will be used to run multiple requests under the same credentials. Each different set of credentials will result in a process being forked, this process stays running as long as the main server runs. Thread pooling will be added to allow the number of threads to be controlled (avoiding a problem very much like a forkbomb).

Development is presently in the early stage. The sources as of right now provide an interface for allowing a single application to be loaded in to the server. Current work is on writing the configuration file reader. Configuration files are written in XML.

At present there does not seem to be any reason the server cannot run under IPV6.