Homepage-Webhilfe Event-Banner

Funktionsweise eines Webservers

Webserver-Grafik Bei dem klassischen Webserver handelt es sich um einen HTTP-Server. Doch in der Zwischenzeit beinhaltet ein Webserver weitaus mehr als nur einen HTTP-Server. Dies liegt daran, dass nicht mehr mehrere Server eingesetzt werden, wobei dann jeder Server für eine einzelne Aufgabe zuständig ist, sondern Server eingesetzt werden, welche mehrere Aufgaben auf einmal erledigen. Ein „moderner Webserver“ beinhaltet also neben dem HTTP-Server i. d. R. einen DNS-Server (zum Beantworten von DNS-Anfragen), einen SQL-Server (zur Verwaltung von Datenbanken), einen SMTP-Server (zum Annehmen von E-Mails), einen POP3- und / oder IMAP-Server (zum Herunterladen von E-Mails) und einen FTP-Server (zum Hochladen der Website). In diesem Thema wollen wir die Funktion eines solchen modernen Webservers etwas genauer erklären.


Der wohl wichtigste Teil eines Webservers ist der HTTP-Server (HyperText Transfer Protocol). Der HTTP-Server wartet auf Anfragen (engl. request) von Clients (z. B. einem Webbrowser), bearbeitet diese und sendet dann eine Antwort (engl. response) an den Client zurück. Bei dem Bearbeitungsvorgang für eine Anfrage wird natürlich auch geprüft, ob die angefragte Ressource verfügbar ist (mit Beachtung von Rewrite-Regeln). Sobald die Ressource gefunden wurde, wird, falls es sich um ein ausführbares Programm / Skript handelt (z. B. ein CGI-Skript), das Programm / Skript durch eine externe Software (z. B. einen Perl- oder PHP-Interpreter) ausgeführt und das Resultat zurückgegeben. Das Resultat kann dann, wie wenn es sich um eine statische Ressource handelt, an den HTTP-Client zurückgesendet werden. Beispiel für HTTP-Server sind der Apache HTTP Server und der Microsoft Internet Information Service (IIS). Webserver verfügen i. d. R. über Schnittstellen, die dazu verwendet werden, mit Fremdsoftware (wie z. B. einem PHP-Interpreter) zu kommunizieren.

Die Kommunikation zwischen Client und Server läuft über das HTTP-Protokoll. Dies ist ein textbasiertes Protokoll und baut auf dem Transportprotokoll TCP auf. Als Port wird i. d. R. 80 verwendet. Das HTTPS-Protokoll ist eine verschlüsselte Variante des HTTP-Protokolls, wobei SSL oder TLS als Verschlüsselungsprotokoll zum Einsatz kommt. Der Standardport für HTTPS ist 443.


Als SQL-Server bezeichnet man Server, welche Datenbanken verwalten können und dabei die Datenbanksprache SQL beherrschen. SQL-Server sind von unterschiedlichen Herstellern verfügbar. Zu den verbreitetsten SQL-Servern zählen MySQL, MariaDB, PostgreSQL und Microsoft SQL Server (kurz MSSQL). Ein SQL-Server (im Allgemeinen auch als Datenbankserver bezeichnet) ist ein Programm, welches den Zugriff auf Datenbanken über das Netzwerk (SQL-Client passend zum verwendeten SQL-Server notwendig) erlaubt. Bei SQL-Servern, wie Sie auf einem modernen Webserver zu finden sind, ist jedoch aus Sicherheitsgründen der Zugriff von „außen“ nicht gestattet, d. h. nur der Webserver selbst (z. B. der PHP-Interpreter, welcher ebenfalls auf dem Server läuft) kann auf den SQL-Server zugreifen. Ein wichtiger Teil eines Datenbankservers, mal abgesehen von den Daten, ist das Datenbankmanagementsystem (abgekürzt DBMS), welches als Schnittstelle zwischen den Daten und dem Anwender bzw. den Anfragen angesehen werden kann. Für die Verwaltung des SQL-Servers bzw. dessen Daten stehen verschiedene Frontends zur Verfügung. Beispiel dafür sind MySQL Workbench und phpMyAdmin.


Als Mail-Server wird ein Server bezeichnet, welcher E-Mails speichert, annimmt und versendet. Auch die Verwaltung von E-Mail-Adressen, Postfächern, Filterregeln etc. gehört zur Aufgabe eines Mail-Servers. Um die einzelnen Aufgaben erledigen zu können, kommen auch verschiedene Netzwerkprotokolle zum Einsatz: SMTP (Simple Mail Transfer Protocol, Server zum Annehmen von E-Mails und Client zum Senden bzw. Weiterleiten von E-Mails), POP3 (Post Office Protocol v3, Server, um Nachrichten auf einen Client herunterladen zu können), IMAP (Internet Message Access Protocol, Server, um einem Client ein Dateisystem für die E-Mails bereitzustellen). Diese Protokolle sind auch in verschlüsselten Varianten verfügbar: SMTPS, POP3S, IMAPS. Ein Beispiel für eine Mail-Server-Software ist Mercury. Auch der IIS von Microsoft enthält einen Mail-Server.


Wenn Sie einen Webserver haben, auf welchem sich eine Website befindet, dann haben Sie i. d. R. auch einen Domainnamen. Ein „vollständiger“ Domainname (z. B. www.homepage-webhilfe.de), im Englischen auch als Fully Qualified Domain Name (FQDN) bezeichnet, ist im Prinzip nichts anderes als ein DNS-Name und somit ein Name, welcher sich aus der Zusammensetzung verschiedener Namensteile ergibt.

Zu jedem DNS-Namen gibt es mindestens eine IP-Adresse. Diese „Übersetzung“ eines Namens in eine IP-Adresse wird als Namensauflösung bezeichnet. Da die Kommunikation im Internet über IP-Adressen läuft und nicht über DNS-Namen, muss der Client, bevor er mit dem Webserver kommunizieren kann, den DNS-Namen in eine IP-Adresse auflösen. Die Vorteile von DNS-Namen im Gegensatz zu IP-Adressen sind, dass diese leichter zu merken sind (da Sie aus Zeichen oder sogar Wörtern bestehen, im Gegensatz zu IP-Adressen, die aus Zahlen bestehen) und immer gleich bleiben (IP-Adressen können sich z. B. durch Zwangstrennungen, einen Neustart oder eine Neuverteilung der Adressen durch den Provider ändern).

Die Auflösung von DNS-Namen erfolgt schrittweise. Dies liegt daran, dass das DNS-Namensverzeichnis hierarchisch aufgestellt ist. Der Auflösungsvorgang beginnt beim letzten Teil des DNS-Namens und endet am ersten Teil (also von hinten nach vorne). Der erste Schritt bei der Domain www.homepage-webhilfe.de wäre also die Auflösung des Teils de. Dafür wendet sich ein DNS-Client zunächst an einen Root-Namensserver. Von diesen gibt es mehrere, die auf der ganzen Welt verteilt sind. Der Root-Namensserver gibt jetzt jedoch nicht die IP-Adresse der FQDN zurück, sondern die IP-Adresse von weiteren Namensservern, die für die Auflösung des DNS-Namens zuständig sind. In diesem Beispiel wären das die Server von DENIC, die die Top-Level-Domains (1. Ebene der DNS-Namen) .de verwalten. Dieser Vorgang wiederholt sich nun so lange, bis die IP-Adresse des Servers gefunden wurde.

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen OK