Der Apache HTTP Webserver, kurz Apache, ist ein für die private und kommerzielle Nutzung kostenloser Open Source Webserver. Erstmals 1995 veröffentlicht, nutzt man den Apache-Webserver aktuell weltweit für rund 46 % aller Webseiten. Seit 1999 liegt die Entwicklung und Verwaltung in der Verantwortung der Apache Software Foundation (ASF). Die Apache Software Foundation ist eine Non-Profit-Organisation mit Sitz in Forest Hill, im US-Bundesstaat Maryland.
Inhalt
Wie funktioniert der Apache Webserver?
Der Apache Webserver ist kein physischer Server, sondern eine Software, die man plattformübergreifend auf Servern mit Windows und Unix/Linux Betriebssystem ausführt. Die Bezeichnung Webserver bezieht sich auf die Funktion des Apache. Seine Aufgabe ist es, eine Verbindung zwischen den Browsern von Internetnutzern und den auf einem Server gespeicherten Webseiten herzustellen. Wenn ein Internetnutzer eine URL in seinen Browser eingibt, wird diese Eingabe vom Browser als HTTPS oder HTTP Anforderung über das Internet an den Apache Webserver gesendet. Der Apache Webserver verarbeitet diese Anfrage und sendet die angeforderte Webseite an den Browser zurück.
Apache Multithreading – gleichzeitige Verarbeitung mehrere Anfragen
Der Apache Webserver ist so konzipiert, dass er mehrere HTTP Anforderungen von verschiedenen Usern gleichzeitig verarbeiten kann. Dazu erstellt der Apache für jede einzelne Anfrage einen eigenen sogenannte Thread. Jeder Thread arbeitet unabhängig von den anderen und verarbeitet die Anforderung jeweils eines Users. Durch dieses Multithreading kann für mehrere Benutzer gleichzeitig die Bereitstellung der angeforderten Webseiten gewährleistet sein.
Neben der Auslieferung von Webseiten ermöglicht der Apache Webserver den Download von Video- und Audiodateien, Bildern, PDF Dokumenten, Word- oder Excel Dateien und weiteren auf einem Server gespeicherten Ressourcen. Die Erstellung dynamischer Webseiten wird durch auf einem Server installierte Skriptsprachen wie PHP, Python, Pearl oder Ruby ermöglicht. Voraussetzung ist, dass man die entsprechenden Module zusammen mit dem Apache Webserver installiert. Lesen Sie hier alles zur dynamischen Webseite.
Apache Erweiterung durch Module
Durch die Installation verschiedener Module kann man den Funktionsumfang eines Apache Webservers erweitern. Häufig verwendete Zusatzmodule sind eine Passwort-Authentifizierung, Proxy Dienste, SSL und TSL, digitale Zertifikate oder GZIP-Komprimierung für die Verkürzung der Downloadzeiten von Dateien.
Apache Webserver für die Entwicklung von Webseiten
Für die Verwendung als Webserver kann man Apache als eine eigenständige Software installieren und einsetzen. In Kombination mit anderen Programmen in einem als XAMPP bezeichneten Paket wird der Apache für die Entwicklung von Webseiten auf lokalen Rechnern installiert. Die Abkürzung XAMPP bezeichnet die in diesem Software-Paket enthaltenen Programme. Neben dem Apache Webserver sind eine MariaDB Datenbank sowie die Skriptsprachen PHP und Perl enthalten. Das X steht für Crossplatform, das heißt, für die plattformunabhängige Installation.
XAMPP kann man auf Computern mit Windows, Mac und Linux/ Unix Betriebssysteme installieren und nutzen. XAMPP stammt nicht von der Apache Software Foundation selbst. Das Softwarepaket wird von einer weiteren Non-Profit-Organisation, den Apache Friends, zusammengestellt und vertrieben. Eine Alternative zu XAMPP ist WAMP. Dieses Softwarepaket enthält den Apache-Webserver, einen MySQL-Datenbank-Server, PHP als Scriptsprache sowie PHPmyAdmin für die Adminisadmtration.
Der Apache Webserver im Vergleich mit anderen Webservern
Das Konzept des Apache Web-Servers, für jede Anfrage einen eigenen Thread zu erstellen, ist seine Achillesferse. Jeder Thread benötigt einen Teil der Server-Ressourcen, sodass es insbesondere bei Webseiten mit vielen Besuchern zu Leistungsproblemen kommen kann. Der mittlerweile größte Konkurrent des Apache, der Nginx Webserver, basiert dagegen auf einer ressourcenschonenden ereignisgesteuerten Architektur.
Der Nginx – ausgesprochen „Engine X“ – Server bündelt alle Anforderungen in einem einzigen Thread. Dieser Thread wird als Masterprozess bezeichnet. Innerhalb des Masterprozesses wird eine Vielzahl von Arbeitsprozessen, die sogenannten Workerprozesse, gleichzeitig verwaltet. Die Workerprozesse verarbeiten die Anforderungen von Webseiten und anderen Ressourcen. Bei einer steigenden Zahl von Anforderungen werden im Masterprozess weitere Workerprozesse gestartet und nach der Verbreitung einer Anforderung wieder gestoppt. Auf diese Weise kann man die Leistung des Nginx Webservers schneller und einfacher skalieren.
Apache am populärsten
Ebenfalls von der Apache Software Foundation wurde der Tomcat Webserver entwickelt. Dabei handelt es sich um einen noch relativ jungen HTTP-Server, den die ASF speziell für Java Apps entwickelt hat. Der Tomcat Webserver ermöglicht die Ausführung verschiedener Java Spezifikationen wie beispielsweise JavaServer Pages, Java El, Java Servlet und WebSocket.
Der Apache ist trotz immer stärker werdender Konkurrenz nach wie vor weltweit der populärste HTTP Webserver. Der modulare Aufbau des kostenlosen Open Source Webservers bietet eine hohe Flexibilität. Dennoch können unerfahrene Nutzer den Apache Webserver problemlos konfigurieren und verwenden. Bei Problemen bietet eine große Community schnelle Hilfe und Unterstützung. Einer der größten Vorteile des Apache Web-Servers ist die Möglichkeit, ihn plattformübergreifend auf Servern mit verschiedenen Betriebssystemen einsetzen zu können.