What is Apache?
What is Apache?
Apache is the leading Internet Web Server, with a market share well over 60% according to Netcraft (http://www.netcraft.com/survey/). Apache powers some of the most demanding Web sites in the world, such as Yahoo! (http://www.yahoo.com), News.com (http://www.news.com), and Amazon (http://www.amazon.com). This is a remarkable feat, if you take into account that the server is developed by a geographically distributed group of programmers using the Internet to communicate. Several factors have contributed to this success:
The Apache license allows for both commercial and noncommercial distribution, modification, and usage. The code is developed by a large distributed group of talented developers. Additionally, several commercial companies such as IBM, Red Hat, and Covalent sell Apache-based products and contribute to further Apache development.
Apache runs on Windows, nearly every flavor of Unix (including Mac OS X and Linux), and other operating systems such as OS/390 or BeOS. This allows enterprises and service providers to standardize on a common Web-serving platform across a heterogenous collection of machines, operating systems, and application servers.
Stability and scalability
Because Apache code is freely available and the server is widely used in Web sites with strict requirements for uptime and scalability, Apache has been continuously improved and tuned over the years. Apache can be scaled horizontally, running on inexpensive rack mount servers, or vertically, running on expensive high-end Unix or mainframe machines. Apache 2.0 can be configured as a threaded server, a process-based server, or a mixture of the two. This allows the administrator to balance performance and stability in a particular setup. Process-based servers are stable, but scale poorly. Well-designed threaded servers can be faster, but are less stable if a thread misbehaves.
The open source development of Apache encourages high coding standards and peer review. Often, security issues are detected before they go into the code and become problems. No serious remote vulnerabilities have been discovered in Apache for years. When problems arise in Apache or one of its modules, fixes are available within hours or days.
Extensible and modular
Apache has a powerful modular API that allows the server to be extended in a variety of ways. Apache 2.0 allows developers to create their own protocol handlers (like FTP or POP3), thus allowing Apache to become a general server framework. Other modules offer template frameworks, authentication, XML processing, or interfaces to enterprise data sources, like directories and relational databases. Organizations can leverage the Apache API to build custom modules to interface to their existing infrastructure and legacy systems. Apache can be configured and built in a variety of ways to accommodate different needs. It's possible to create custom builds of Apache that include only the necessary modules, reducing server size and increasing security. Additionally, Apache allows for the dynamic loading of modules, so modules can be compiled as shared libraries, and added or removed without the need to recompile the server.
The latest version of Apache, 2.0, was released recently after years of development. You can learn more about Apache and download your copy of the server at http://www.apache.org.