Exkurs: Webserver
Ein Webserver hat die Hauptaufgabe, Anfragen (engl. requests) von Webclients mit der Auslieferung von statischen (unveränderlichen) Dateien, wie z. B. HTML-
oder Bild-Dateien zu beantworten (engl. response).
Für eine komplette Webseite werden in der Regel die HTML-Seite inklusive verknüpfter Designbeschreibungen (CSS) und Bilddateien (JPG, PNG, GIF, SVG)
jeweils als einzelne Dateien übertragen. Für jede benötigte Datei muss
der Webbrowser eine eigene Anfrage an den Webserver senden, d. h. zur
Darstellung einer komplexen Webseite sind manchmal hunderte Anfragen und
Serverantworten nötig.
Ein Webserver kann mttels Multithreading dabei sehr viele Dateiinhalte quasi gleichzeitig auf viele verschiedene Rechner auszuliefern.

Request eines Webclients beim Webserver
Weitere Funktionen
Neben dem Ausliefern von statischen Dokumenten können Webserver noch weitere Funktionen erfüllen:
Dynamische Webseiten
Der Webserver kann Interpreter von bestimmter Programmiersprachen wie z.B. PHP, Python, JAVA, JavaScript, C# aktivieren. Dann können vor der Auslieferung Inhalte durch den Server wie z.B. Formulardaten verarbeitet werden oder Datenbanken abgefragt werden.
- Zugriffsbeschränkung
- wird die Authentifizierung nicht durch z.B. durch eine dynamische Webseite verwaltet, können Webserver auch die HTTP-Authentifizierung einsetzen, auf bestimmte Verzeichnisse kann nur mittels eines Kennworts zugegriffen werden.
- Sicherheit
- Zur Verschlüsselung der Server-Client-Kommunikation wird über das Internet das HTTPS-Verfahren eingesetzt.
- Cookieverwaltung
- Webserver können auch HTTP-Cookies (engl. Kekse) verwalten. Kleine Textinformationen werden auf dem Client-Gerät durch den Browser gespeichert (gesendet vom Webserver oder mit JavaScript im Browser erzeugt). Bei späteren Besuchen der Webseite, werden die Cookie-Inhalte an den Webserver übertragen. So kann z.B. ein Warenkorb realisiert sein, aber auch Webtracking ermöglicht werden.
- Protokollierung
- Üblicherweise protokolliert der Webserver alle Anfragen einschließlich der IP-Adresse und ob die Anfragen fehlerfrei beantwortet werden konnten. Erfolgte die Anfrage über einen Proxy, wird dessen IP-Adresse in der LOG-Datei erfasst.
- Caching
- bei großen Zugriffszahlen kann vor allem die aufwändige dynamische Inhaltsauslieferung gepuffert werden und mit HTTP-Caching der Webserver, Scripte und Datenbanken geschont werden.
Übertragungsprotokoll
Als Übertragungsmethoden dienen standardisierte Übertragungsprotokolle
(HTTP, HTTPS) und Netzwerkprotokolle wie IP und TCP, üblicherweise über
Port 80 (HTTP) und Port 443 (HTTPS).