next up previous contents index
Next: 4.2 Structure of the Up: 4. Inside Apache Previous: 4. Inside Apache   Contents   Index

4.1 Introduction

This chapter focuses on the implementation of Apache. You should only read it if you

Some sections contain descriptions related closely to the source code. We analyzed Apache version 1.3.17 in the project's first year and compared these results to Apache 2.0 during the second year. The online version of this document provides links to locations in the source code of both versions.

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.


next up previous contents index
Next: 4.2 Structure of the Up: 4. Inside Apache Previous: 4. Inside Apache   Contents   Index
Apache Modeling Portal Home Apache Modeling Portal
2004-10-29