Donate $5 to help support ACME Labs.

coleman - web server and C servlet engine

Fetch version 0.x of ?????2015.

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!

See also: thttpd, mini_httpd, micro_httpd, js_httpd, Acme.Serve.
ACME Labs / Software / coleman