Chapter 11. Apache
From 1996 until the present time, the Apache HTTP Server has the most popular web server. Maintained by the Apache Software Foundation, an open community of developers, it is an open-source HTTP (Hypertext Transfer Protocol) server that runs on numerous UNIX variants as well as Microsoft Windows platforms. It includes a programming interface (API) that can extend Apache using numerous programming languages, including C, Perl (with CGI and mod_perl, which we will discuss later), PHP, Java, Python, Ruby, and Tcl. Apache also includes functionality for SSL (Secure Sockets Layer) and TLS (Transport Layer Security) for running secure web sites.
Apache is one of the core technologies of this book, and as such this chapter will discuss in detail how Apache is installed and configured, as well as how it works.
Understanding Apache: An Overview
As an HTTP server, Apache is an agreed-upon standard client/server communications application-level protocol as defined by the Internet Engineering Task Force in RFC 2616. HTTP is a generic, stateless protocol, meaning that when connections are made between the client and server, no client information is maintained between requests. HTTP provides the mechanism for a server (the web server) to respond to a request from a client (a web browser or other client program requesting content). The basic function of HTTP follows this pattern:
The server waits for a request.
A client connects to the server, sending a request header that contains ...