2.5. Serverarchitekturen
Beim Apache-Server haben sich verschiedene Architekturen bewährt:

Architektur
Beschreibung
Inetd
Ein zentraler "Super-Daemon" wartet auf eingehende Verbindungswünsche und gibt diese an nachgelagerte Server weiter. (für den Apache nicht mehr unterstützt)
Forking
Bei jeder Anfrage wird vom Hauptprozess ein neues "Kind" abgespalten, das die Anfrage bearbeitet. Grundlage ist der Unix- Systemaufruf "fork". (wurde vom Apache nie unterstützt)
Preforking
Beim Start des Servers wird ein "Park" an Kindern gestartet und eingehende Verbindungen werden an die laufenden Kind-Server dispatched. In Anhängigkeit von der Last werden weitere Kind- Prozesse vorab gestartet oder wieder terminiert (Standard für Apache 1.x und Unix- Systeme unter 2.x)
Worker
Hybrides Modell aus preforking und threads. Jeder Kind-Server kann in parallelen Threads mehrere Anfrage abarbeiten. (Neu in Version 2.x eingeführt. Neben einem stabilen Release experimentieren die Entwickler hier mit verschiedenen Alternativen)

Zusätzlich unterstützt der Apache betriebssystemabhängige Architekturmodelle für z.B. Windows, Novell Netware, Beos, OS2.