AOLServer vs. Apache

This is a comparison off the top of my head. It is based on my general knowledge and experience with these two webservers, not any specific testing. I'm reasonably familiar with both AOLServer and Apache, although 1.x more than 2.x, and I have little exposure to Rivet. Take this with a grain of salt; I'm not even going to try to pretend this is unbiased. --evilotto

Performance
Configuration
Support
Scripting
Extending

Performance

I'd expect the performance of these two servers to be quite comparable. They are both mature enough to have their major code paths well-optimized. I'd expect AOLserver to have a slight advantage in certain cases due to db handle and interpreter reuse for scripts and due to the fastpath code for static content.

Configuration

Apache's configuration is more flexible in how the different sections (location, directory, etc) interact and the availability of htaccess files to put configuration just about anywhere. This also means the configuration is more idiosyncratic and inconsistent - each configuration directive has its own rules associated with it. The configuration directives are fairly well documented.

AOLserver's configuration on the other hand is a tcl script. This means that it is very regular, and because it is a program you can do very useful things like create templates with it. However the documentation is not nearly as good.

Support

Both servers have decent community/mailing-list support, although Apache's is much larger. OpenACS (based on AOLserver) has a pretty good community, although they are much more familiar with OpenACS-specific items than core AOLserver items.

In-house support (e.g., from a corporate IT department) is likely to be much harder for AOLserver (many sysadmins have not even heard of it and have no idea what it needs, and therefore they fear it). The installation process is likewise not well documented.

Scripting

AOLserver has tcl scripting very tightly integrated, and it works well. Apache's scripting must be added on as a module. Apache has many more options for scripting (perl, python) while AOLserver has pretty much just tcl. However, AOLserver's tcl support is very good, with support for preloading libraries, reusing interpreters, and setting up filter and handler procedures. Apache's scripting has always felt a little more raw to me, although the scripting modules typically expose the entire API at a low level so you can do quite a lot with it.

Extending

Apache's 7-phase request processing system is very flexible, but confusing. Creating a module is quite involved. AOLserver has a mostly clean consistent C api (nearly all of which is reflected in the tcl api) and the control flow is very understandable. AOLserver is threaded while Apache gives you a choice, so in AOLserver you need to be a little more careful about some things, but the model is very similar to Tcl's apartment model which eliminates many headaches.


Software page