Wie stellen Webserver Webseiten bereit?
Der Webserver als Vermittler
Stell dir vor, du gibst www.beispiel.de in deinen Browser ein. Dein Browser agiert in diesem Moment als Client und sendet eine Anfrage, einen sogenannten HTTP-Request, über das Netzwerk. Der Webserver ist die spezialisierte Software auf der Gegenseite, die permanent auf einem Server läuft und auf genau solche Anfragen lauscht.
Sobald der Request eingeht, sucht der Webserver die passenden Ressourcen (wie HTML-Dokumente, Bilder oder CSS-Dateien) aus dem lokalen Dateisystem zusammen. Anschließend verpackt er diese Daten und schickt sie als HTTP-Response zurück an deinen Browser. Diese gesamte Kommunikation erfolgt über das standardisierte Protokoll HTTP (Hypertext Transfer Protocol) oder dessen verschlüsselte Variante HTTPS. Der Webserver ist somit das zentrale Bindeglied, das lokale Dateien für Clients im Netzwerk überhaupt erst zugänglich macht.
Virtual Hosts: Viele Websites auf einem Server
Ein physischer Server bietet oft genug Leistung, um hunderte Websites gleichzeitig auszuliefern. Es wäre eine enorme Ressourcenverschwendung, für jede kleine Website einen komplett eigenen Server zu betreiben.
Das Konzept der Virtual Hosts (virtuelle Hosts) löst dieses Problem: Es ermöglicht einer einzigen Webserver-Software, viele verschiedene Websites (z. B. firma-a.de und firma-b.de) parallel bereitzustellen. Für die Besucher:innen wirkt es so, als hätte jede Website ihren eigenen, dedizierten Server. Im Hintergrund teilen sich jedoch alle Websites dieselbe Hardware und dieselbe Webserver-Software, was massiv Kosten und administrativen Aufwand spart.
Namensbasiertes vs. IP-basiertes Hosting
Wenn sich hunderte Websites einen Server teilen, muss der Webserver exakt wissen, welche Seite ein Client gerade anfragt. Dafür nutzt er zwei primäre Methoden:
- Namensbasiertes Hosting (Name-based): Dies ist der heutige Standard. Alle Websites auf dem Server teilen sich dieselbe IP-Adresse. Der Webserver liest den sogenannten Host-Header aus dem HTTP-Request des Browsers aus (z. B.
Host: firma-a.de). Anhand dieses Namens greift er in das passende Verzeichnis im Linux-Dateisystem (gemäß FHS oft unter/var/www/firma-a), um die richtigen Dateien auszuliefern. - IP-basiertes Hosting: Hierbei bekommt jeder Virtual Host eine eigene, dedizierte IP-Adresse auf demselben physischen Server zugewiesen. Der Webserver erkennt allein anhand der angefragten Ziel-IP-Adresse, welche Website gemeint ist. Da IPv4-Adressen knapp sind, wird diese Methode heute nur noch selten genutzt.
Welche Webserver-Software passt zu welchem Einsatzgebiet?
Apache HTTP Server: Der modulare Pionier
Der Apache HTTP Server ist ein Open-Source-Klassiker und treibt seit Jahrzehnten einen Großteil des Internets an.
- Architektur: Apache arbeitet traditionell prozessbasiert. Das bedeutet, dass für jede eingehende Client-Anfrage ein eigener Prozess oder Thread gestartet wird. Bei extrem vielen gleichzeitigen Zugriffen kann dies viel Arbeitsspeicher (RAM) verbrauchen.
- Konfiguration & Erweiterbarkeit: Seine größte Stärke ist die Flexibilität. Über ein riesiges Ökosystem an Modulen lässt er sich beliebig erweitern. Zudem können Entwickler:innen Einstellungen dezentral über
.htaccess-Dateien direkt in den jeweiligen Webverzeichnissen steuern, ohne den Hauptserver neu starten zu müssen. - Einsatzszenario: Ideal für komplexe Webanwendungen und Shared-Hosting-Umgebungen, in denen Nutzer:innen ihre eigenen Verzeichnisse individuell konfigurieren müssen.
Nginx: Der asynchrone Hochleistungsserver
Nginx (ausgesprochen "Engine-X") wurde speziell entwickelt, um zehntausende gleichzeitige Verbindungen performant zu verarbeiten.
- Architektur: Im Gegensatz zu Apache nutzt Nginx eine ereignisbasierte (event-driven) Architektur. Ein einziger Arbeitsprozess verwaltet asynchron Tausende von Verbindungen gleichzeitig. Das macht Nginx extrem ressourcenschonend und blitzschnell unter hoher Last.
- Konfiguration: Die Einrichtung erfolgt rein zentral. Dezentrale Dateien wie
.htaccesswerden aus Performancegründen bewusst nicht unterstützt. - Einsatzszenario & Lizenz: Nginx ist Open Source (bietet aber auch kommerzielle Enterprise-Versionen an). Er ist perfekt für das pfeilschnelle Ausliefern von statischen Dateien (Bilder, CSS) und wird extrem häufig als Reverse Proxy eingesetzt, der Anfragen intelligent an andere Server im Hintergrund verteilt (Load Balancing).
Microsoft IIS: Die integrierte Windows-Lösung
Der Internet Information Services (IIS) ist Microsofts proprietäre Webserver-Lösung. Wie du bereits aus den Grundlagen der Server-Betriebssysteme weißt, ist IIS tief in den Windows Server integriert und direkt über dessen kommerzielle Lizenz abgedeckt.
- Architektur & Konfiguration: IIS ist perfekt auf die Windows-Systemarchitektur abgestimmt. Die Verwaltung erfolgt meist sehr komfortabel über eine grafische Benutzeroberfläche (GUI), was den administrativen Einstieg im Vergleich zu reinen Textkonfigurationen unter Linux erleichtert. Die Konfigurationen selbst werden im Hintergrund in XML-Dateien gespeichert.
- Einsatzszenario: Die absolute erste Wahl in reinen Windows-Umgebungen. Besonders wenn Webanwendungen auf dem Microsoft-Framework ASP.NET basieren oder eine nahtlose Authentifizierung über das Active Directory gefordert ist, spielt der IIS seine Stärken voll aus.
Teste dein Wissen
Du richtest einen Webserver für das Intranet ein. Was ist die primäre Aufgabe dieser Software, wenn ein Browser die Seite aufruft?