This project is designed to be a minimalist http server focusing on speed and size. It's one of those pieces of software meant to be unpackaged and used within a minute instead of spending endless hours configuring and testing. Of course some configuration is necessary as would be for any functional piece of software, but, if anything, I've heavily erred on the side of less, rather than more.
The following is a list of some features of this web server:
- Non-blocking asynchronous I/O handling
- Single-process poll/select client concurrency model with no forking, no threads, for portability and efficiency
- Robust, secure construction
- Daemon (server) process
- Support for CGI content without being entangled with it
- Lots of configuration options without slowing the program down
Corehttp is still in development and is not as stable as I would like. Corehttp is much more stable and reliable when dynamic content (CGI - Php/Perl) is disabled! This is because with CGI enabled corehttp must fork for every CGI request. Corehttp wasn't originally designed with CGI in mind. Serving static pages has shown to be very reliable, but Corehttp may unexpectedly exit (segfault?) after serving a large load of CGI content.
% tar zxvf corehttp*tar.gz
% cd corehttp/src
% sudo make install
% cd ..
% man corehttp
% vi chttp.conf
% corehttp chttp.conf
% firefox localhost
More features are to be added as the project matures.