This document is intended for everybody interested in technical aspects of HTTP Servers, especially Apache. It does not present much information about usage and administration of Apache -- this is covered by many other documents. We try to give both an overview as well as dive into some details necessary for understanding how Apache works and how it is constructed.
Chapter 2 shows the tasks of an HTTP server in general and its behavior in its environment. We focus on protocols like HTTP and issues concerning security, session management or dynamic content. Chapter 3 introduces the Apache HTTP Server, its features, configuration, administration and extension API.
Chapter 4 guides the reader through the implementation details of Apache. It is intended for developers and people who want to know how to implement a multitasking network server. It introduces concepts and their implementation in the Apache source code. The chapter is far from being complete but tries to show the most important concepts needed to understand the Apache source code.
All diagrams in this document follow the notation of the Fundamental Modeling Concepts (FMC). Appendix C presents a short introduction to this modeling method, covering philosophy, concepts and notation.