OSNews: An Overview of the Boa Web Server
Nov 26, 2002, 07:00 (1 Talkback[s])
(Other stories by Jon Nelson)
"Boa is a single-tasking HTTP server. Boa does not fork a copy
of itself or spawn a thread to handle each incoming connection, but
rather internally multiplexes the connections. Boa only forks for
CGI programs, automatic directory generation, and automatic file
gunzipping, each of which must be a separate process. The primary
design goals of Boa are speed and security, in the sense of 'can't
be subverted by a malicious user,' not 'fine grained access control
and encrypted communications.' Boa is not intended as a
feature-packed server; if you want one of those, Boa is probably
not the right choice.
"Boa is written in C and uses the GNU autoconf system to provide
a portable code base. It has been reported to run out-of-the-box on
many different flavors of UN*X, and with minor tweaking on many
more. Currently Boa is developed on a Linux platform, on a variety
of distributions, most notably RedHat Linux, Debian GNU/Linux, and
Gentoo Linux. Additionally, Boa is available under FreeBSD 4.6 as a
port. Boa has also been reported to run on OpenBSD, HP/UX, Solaris
7 and 8, AIX, and even the Cygwin environment for Windows. An
earlier release of Boa was even ported to run under DOS!
"Boa excels at certain types of web serving, notably static
documents, which means documents served directly off of disk,
without involving additional processes. Though desgined before
100Mbit ethernet, Boa can easily saturate 100Mbit Ethernet links on
even modest hardware. Boa was designed before such hardware was
readily available, and was specifically designed to use resources
efficiently. In fact, Boa is actually one of the oldest actively
developed web servers...!"
Complete
Story
Related Stories: