Current status:
Coleman is a couple different things. It's a simple, fast, and small web server. It's also a servlet engine in C instead of Java.
The servlet architecture is a great idea, a nice simple plug-in interface for web servers, but it has some problems. First, it's tied to Java. If you don't like that language then you are stuck. Second, the performance of servlet-based web servers is inherently mediocre because they handle concurrency with threads.
Coleman fixes both of these problems; the first, by using plain old C as the API language; the second, with a new hybrid concurrency model.
See the manual pages for more details:
If you are currently using thttpd and/or mini_httpd and want to know how coleman compares, here's a little table:
thttpd | mini_httpd | coleman | |
---|---|---|---|
concurrency | NBIO | fork | threads/NBIO |
https | no | yes | yes |
keep-alives | no | no | yes |
sendfile | no | yes | yes |
plugins | no | no | C servlets |
multiple ports | no | no | yes |
config file | ad hoc | ad hoc | JSON |
IPv6 | yes | yes | yes |
chroot | yes | yes | yes |
virtual hosts | yes | yes | yes |
non-local referrer blocking | yes | yes | yes |
CGI | yes | yes | yes |
basic authentication | yes | yes | yes |
first released | 1995 | 1999 | 2015 |
gzipped tarchive size | 130KB | 40KB | 90KB |
Are you using coleman? There's a mailing list. Join the conversation!