| AOLServer |
Apache |
Answered requests by creating new threads thus
enabling it to easily scale up to higher numbers of
requests (since threads are easy to spawn and tear
down). Multiple threads also allowed for better
sharing of data between requests.
|
Until recently Apache used processes to answer
requests (this has changed with the 2.x series).
These were expensive to spawn and did not allow for
easy sharing of data.
|
An embedded TCL interpreter allowed rapid
development of dynamic content for webpages.
This included a well-defined TCL API for working
with requests.
|
The use of CGI to create dynamic webpages was
slow (as each request required the creation of a
new process), but allowed the use of many
different languages. The eventual development of
FastCGI and the mod_*'s allowed increased
efficiency, but the integration was not
particularly tight and there was not a lot of
uniformity between the modules.
|
A single DB API specification guaranteed
uniformity in communicating with databases. The
pooling provided by the system allowed rapid and
efficient access to the databases since you
didn't have to spawn new threads or processes
every time you wanted to make a connection. This
also guaranteed a maximum number of connections
to the database which prevented flooding
it.
|
No concept of database interactivity. This was
provided by each of the individual modules. Many
of the standard APIs (excepting JDBC and possibly
PERL DBI) are poorly designed.
|