This chapter focuses on the implementation of Apache. You should only read it if you
You should know the concepts of an HTTP server shown in chapter 2 and be familiar with the characteristics of Apache depicted in chapter 3. Furthermore you should be able to read C code.
Section 4.2 illustrates the first step of a source analysis: You need to figure out the structure of the Apache source distribution.
A basic concept of a network server is the way it handles concurrency. Section 4.3 at first introduces a common way to implement a multitasking server and then compares it with the way Apache handles concurrency.
Figure 4.8 gives an overview of the behavior of the server and introduces the loops the further sections focus on. It also covers the server's reaction to the control commands of the administrator (restart or end).
The master server loop shown in section 4.3.3 is closely related to the multitasking model of Apache.
The request-response loop in section 4.4 forms the heart of every HTTP server and is therefore similar to the behavior of a simple HTTP server shown in figure 2.2. In this section you will also find the ``other side'' of the module callbacks explained in section 3.3.
The further sections of this chapter deal with implementation details of various Apache concepts.
Apache Modeling Portal 2004-10-29 |