Webserver

Lernfeld: Serverdienste bereitstellen und Administrationsaufgaben automatisieren

Was ist ein Webserver?

Die Aufgabe eines Webservers

Ein Webserver ist ein spezialisiertes Computerprogramm, dessen Hauptaufgabe darin besteht, auf Anfragen von Clients, in der Regel Webbrowsern, zu antworten und diesen die angeforderten Webseiten-Ressourcen zu liefern. Stell dir einen Webserver wie eine riesige, rund um die Uhr geöffnete Bibliothek vor. Wenn du eine Webseite in deinem Browser aufrufst, sendet dein Browser (der Client) eine Anfrage an diese Bibliothek (den Webserver). Der Webserver sucht dann das angeforderte „Buch“ (z. B. eine HTML-Datei), die dazugehörigen Bilder und Stilvorlagen (CSS-Dateien) und sendet alles zurück an deinen Browser, der es dann für dich darstellt. Diese gesamte Kommunikation findet über standardisierte Protokolle statt, meist HTTP (Hypertext Transfer Protocol) oder dessen verschlüsselte Variante HTTPS.

Virtuelle Hosts: Ein Server, viele Gesichter

In der Praxis muss nicht für jede einzelne Website ein eigener physischer Server betrieben werden. Stattdessen ermöglicht das Konzept der virtuellen Hosts, dass ein einziger Webserver Hunderte oder sogar Tausende verschiedene Websites gleichzeitig hosten und verwalten kann. Das ist vergleichbar mit einem großen Wohnhaus, das eine einzige Adresse hat, aber viele verschiedene Wohnungen mit eigenen Klingelschildern (Domainnamen) beherbergt. Wenn eine Anfrage beim Webserver eintrifft, prüft dieser, an welche Domain (z. B. www.beispiel-firma.de) sie gerichtet ist, und liefert dann die Inhalte des passenden virtuellen Hosts aus. Die häufigste Methode hierfür ist das namensbasierte Hosting, bei dem der Webserver den im HTTP-Request mitgesendeten Host-Header auswertet, um die richtige Website zuzuordnen. Dies ist äußerst ressourcenschonend, da sich viele Websites eine einzige IP-Adresse teilen können.

Welche Webserver-Software gibt es?

Apache HTTP Server: Der flexible Veteran

Der Apache HTTP Server, oft einfach nur Apache genannt, ist eine der ältesten und am weitesten verbreiteten Webserver-Softwarelösungen. Seine große Stärke liegt in seiner enormen Flexibilität und Erweiterbarkeit durch ein riesiges Ökosystem an Modulen.

  • Architektur: Traditionell arbeitet Apache prozess- oder threadbasiert, was bedeutet, dass für Anfragen oft eigene Prozesse oder Threads gestartet werden.
  • Konfiguration: Die Konfiguration ist sehr detailliert und kann dezentral über .htaccess-Dateien direkt in den Webverzeichnissen angepasst werden. Das macht ihn besonders beliebt im Shared-Hosting-Umfeld.
  • Einsatzszenario: Ideal für komplexe Webanwendungen, die spezielle Module benötigen, und in Umgebungen, in denen eine einfache, verzeichnisbasierte Konfiguration gewünscht ist.
  • Lizenzmodell: Open Source (Apache 2.0 Lizenz).

Nginx: Der Champion für Performance

Nginx (ausgesprochen "Engine-X") wurde mit einem klaren Fokus auf hohe Leistung und Effizienz entwickelt und hat sich in den letzten Jahren zu einem der populärsten Webserver entwickelt.

  • Architektur: Nginx nutzt eine ereignisbasierte (event-driven) Architektur. Anstatt für jede Anfrage einen neuen Prozess zu starten, kann ein einziger Nginx-Prozess Tausende von Verbindungen gleichzeitig und sehr ressourcenschonend verwalten.
  • Konfiguration: Die Konfiguration erfolgt zentral über Konfigurationsdateien und ist für ihre klare und logische Struktur bekannt.
  • Einsatzszenario: Perfekt für das Ausliefern von statischen Inhalten (Bilder, CSS, JavaScript) und als Reverse Proxy oder Load Balancer vor anderen Anwendungs-Servern, um deren Last zu reduzieren und die Performance zu steigern.
  • Lizenzmodell: Open Source (BSD-ähnliche Lizenz), mit einer kommerziellen Version (NGINX Plus) für erweiterte Funktionen und Support.

Microsoft IIS: Die Windows-native Lösung

Der Microsoft Internet Information Services (IIS) ist die Webserver-Lösung von Microsoft und tief in das Windows-Server-Betriebssystem integriert.

  • Architektur: Ähnlich wie Apache ist IIS modular aufgebaut und eng mit der Windows-Architektur verzahnt.
  • Konfiguration: Die Verwaltung erfolgt oft über eine grafische Benutzeroberfläche (GUI), was den Einstieg für Windows-Administrator:innen erleichtert. Die Konfiguration wird in XML-Dateien gespeichert.
  • Einsatzszenario: Die erste Wahl in reinen Windows-Umgebungen, insbesondere wenn Technologien wie ASP.NET, .NET Core oder eine enge Anbindung an Active Directory und andere Microsoft-Dienste erforderlich sind.
  • Lizenzmodell: Proprietär, ist Bestandteil der Lizenzen für Windows Server-Betriebssysteme.

Lernziele

  • die charakteristischen Merkmale und typischen Einsatzszenarien gängiger Webserver-Software (z.B. Apache HTTP Server, Nginx, Microsoft IIS) vergleichen, indem ihre Unterschiede in Architektur (z.B. prozessbasiert vs. eventbasiert), Konfigurationsansätzen, Leistungsfähigkeit für spezifische Lastprofile, Erweiterbarkeit durch Module und Lizenzmodelle gegenübergestellt werden.
  • das Konzept der virtuellen Hosts zur Bereitstellung mehrerer Websites auf einem einzigen Webserver veranschaulichen, indem die verschiedenen Methoden der Host-Identifizierung (z.B. IP-basiert, namensbasiert über den Host-Header) und die grundlegende Konfiguration von virtuellen Hosts skizziert werden.
  • die grundlegende Funktion eines Webservers erklären, indem die Rolle des Webservers bei der Bereitstellung von Webseiten und Webanwendungen über HTTP/HTTPS sowie die Interaktion mit Clients (z.B. Webbrowsern) beschrieben wird.

Genug gelesen? Zeit, es wirklich zu können!

Die Theorie aus diesem Artikel ist die perfekte Basis. In der asyoube Lernplattform wendest du dieses Wissen an, bekommst persönliches Feedback und bereitest dich interaktiv auf deine Ausbildung oder deine Prüfungen vor.

Für Ausbilder & Unternehmen

Möchten Sie Ihr gesamtes Team mit asyoube ausbilden? Entdecken Sie unsere B2B-Lösung mit einfacher Verwaltung, Fortschritts-Tracking für Ihre Azubis und attraktiven Team-Preisen.