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!