thttpd - tiny/turbo/throttling HTTP server

Fetch stable version 2.20b. Fetch beta version 2.21b. Release notes.

thttpd is a simple, small, portable, fast, and secure HTTP server.

Simple:
It handles only the minimum necessary to implement HTTP/1.1. Well, maybe a little more than the minimum.
Small:
See the comparison chart. It also has a very small run-time size, since it does not fork and is very careful about memory allocation.
Portable:
It compiles cleanly on most any Unix-like OS, specifically including FreeBSD, SunOS 4, Solaris 2, BSD/OS, Linux, OSF.
Fast:
In typical use it's about as fast as the best full-featured servers (Apache, NCSA, Netscape). Under extreme load it's much faster.
Secure:
It goes to great lengths to protect the web server machine against attacks and breakins from other sites.
It also has one extremely useful feature (URL-traffic-based throttling) that no other server currently has. Plus, it supports IPv6 out of the box, no patching required.
More specific info:

How do you pronounce thttpd? Ask Bloom County's Bill the Cat, as seen in User Friendly, the excellent geek-positive comic. You can also use this fun Bill-based thttpd badge on your own web site if you like. It was drawn by Anatole Shaw.


Are you using thttpd? There's a mailing list: thttpd@acme.com (thttpd-request@acme.com to subscribe, archived here). And an announcements-only mailing list: thttpd-announce@acme.com (thttpd-announce-request@acme.com to subscribe). Also if you have any nice quotes I can use, send 'em in. For instance:

"I got thttpd compiled and running on the web server at work in no time at all, or close enough for my purposes, and I really like it, and when I told the rest of the crew what the footprint was they almost coughed up their lunches."
-- Martin Kelly
"Our load averages have dropped significantly since we moved our graphics to thttpd."
-- Randy Cosby
"i just grabbed thttpd and set it up on my personal box to test it out, and i am amazed at how quick and easy that was. i'm a hardcore apache expert but this was just phenomenally simple. very refreshing."
-- Jon Drukman
"I switched to thttpd on my underpowered server about 20 minutes after downloading it."
-- Daniel Quinlan
"I just wanted to let you know that I installed thttpd and it works really great. The server is a P3/500 w/512 megs running FreeBSD 3.3 and when it was using apache it was at about 11 load average and kept throwing connections and errors. Now it runs dandy with thttpd and the load average is between 0.1 and 0.2. The thttpd process is at about 200 megs size and the system is usually 60% idle. The machine serves about 400 simultaneous connections (more on peak hours)."
-- Petru Paler
"I just upgraded my htdocs development box from apache to thttpd. I was looking for a httpd that would use less memory - I found one that was faster and easier to use as well :)"
-- David Brownlee
"We are using thttpd to serve all of our images. We are a huge traffic site. We moved about a month ago from a barebones apache. The load on our web servers dropped dramatically, as did the memory usage! woohoo!"
-- Jeremy from care2.com
"Configuration: Athlon 700, 800MB RAM. Before: Apache, load=170, machine unusable, capped at 4Mbits, SWAPPING. After: thttpd, load=.09 (yes, that's point-zero-nine), happy at 8Mbits, only using ~300MB of RAM."
-- Jon Oringer
Some major sites running thttpd:

On Red Hat Linux systems you can use RPM to install thttpd, like so:

cd /usr/src/redhat/SOURCES
wget http://www.acme.com/software/thttpd/thttpd-2.21b.tar.gz
rpm -ta thttpd-2.21b.tar.gz
rpm -i /usr/src/redhat/RPMS/i386/thttpd-2.21b-1.i386.rpm

New in version 2.21b: New in version 2.21: New in version 2.20b: New in version 2.20: New in version 2.19: New in version 2.18: New in version 2.17: New in version 2.16: New in version 2.15: New in version 2.14: New in version 2.13: New in version 2.12: New in version 2.11: New in version 2.10: New in version 2.09: New in version 2.08: New in version 2.07: New in version 2.06: New in version 2.05: New in version 2.04: New in version 2.03: New in version 2.02: New in version 2.01: New in version 2.00: New in version 1.95: New in version 1.90a:
See also: micro_httpd, mini_httpd, Acme.Serve, http_get.
Back to ACME Labs Software.
Back to ACME Labs.

ACME Labs Webmaster <webmaster@acme.com>