The Apache tribe is a very noble and interesting one. Breaking into six distinct regional groups (Western Apache, Chiricahua, Mescalero, Jicarilla, Lipan, and Kiowa Apache), the Apache nation stretched from Arizona to Texas. Apaches were mainly hunters of deer, gophers, wild turkeys and lizards.
Apaches were great hunters but also great warriors. Apache comes from a Yuma word for "fighting-men" and Zuni for "enemy." The Apaches gained a great reputation for being a warlike tribe after continuous battles with other tribes and invaders from Mexico. However, Apaches are described as very gentle and faithful in their friendship.
At the present, Apaches live on reservations in Arizona and New Mexico.
Apache started life as patches to the NCSA httpd web server informally shared by webmasters. In April 1995, the first full Apache server was released, and the rest, as they say, is history. The name Apache comes from these humble beginnings ("a patchy" server).
Apache is an open source project, meaning all the source code is available to the public. The license is similar to the BSD license, in that there are no restrictions against using Apache in a commercial, closed source, project.
The server runs on most operating systems, including Windows NT/2000, Windows 9x, OS/2, MacOS X, and most Unix variants. Apache has been coded with correctness and flexibility as goals rather than speed, so Apache is rarely the fastest web server for a platform, but it is rock solid and generally useful for the vast majority of situations.
Some of the most popular features of Apache are:
Sources: Apache FAQ
Preliminary design on Apache2 began (IIRC) in 1997. Code writing began in 1999, and now we have reached stability, albeit with some warts and misfeatures, primarily the build system.
Apache 1.3.x was a very conservative design: it followed the ancient Unix idiom of 'fork to handle a request', with the additional feature of forking subprocesses in advance to spread the initialization load over time. The benefits to that approach are the simplicity of implementation, and assurances of stability as processes are being killed off and restarted all the time (so memory leaks can't get too far along before the whole process is collected). The disadvantages in the 1.3 design are lack of execution speed, high memory requirements, and no easy way to unify memory access between the multiple processes that comprise a single server.
Enter threads. Start-up and context switching time for threads is less than 1/4 of the time for processes. More importantly, threads operate within the same memory space, so 1, your memory costs are lower, and 2, you can do new things with shared memory spaces, for example:
Right now I know of only 2 common languages that are ready for apache2: mod_tcl and mod_scheme. Python2.2 should be fine, since it's thread-safe in PyWX, but I haven't seen the release notes on that yet.
Oh yeah, there's a bunch of other fun stuff in apache2:
A*pa"ches (#), n. pl.; sing. Apache (#). Ethnol.
A group of nomadic North American Indians including several tribes native of Arizona, New Mexico, etc.
© Webster 1913.
printable version chaos
Everything2 Help