Apache, Microsoft IIS, Nginx & Co. – Dienste zur Bereitstellung von Daten und Website-Inhalten Was ist ein Webserver?

Autor / Redakteur: MiR / Florian Karlstetter

Webserver übertragen Dokumente beziehungsweise Webinhalte an Clients, wie zum Beispiel an einen Webbrowser oder an eine Website. Der Begriff bezieht sich zum einen auf den mit einem entsprechenden Webserver-Programm ausgestatteten Computer und zum anderen auf die Software selbst.

Anbieter zum Thema

Ohne gezielte Kommunikation mit den Clients geht nichts: Aufgaben und Funktionen eines Webservers im Überblick.
Ohne gezielte Kommunikation mit den Clients geht nichts: Aufgaben und Funktionen eines Webservers im Überblick.
(Bild: gemeinfrei © Gerd Altmann / Pixabay )

In der Regel wird ein Webserver im Internet als WWW-Dienst eingesetzt. Er kann aber auch lokal oder in Firmennetzwerken genutzt werden. Die jeweiligen Dokumente sind somit gemäß dem geforderten Verwendungszweck sowohl weltweit als auch lokal oder firmenintern verfügbar. Der Webserver-Rechner wird auch Host genannt. Ein solcher Host kann durchaus gleich mehrere Server-Programme verarbeiten. Der Webserver bzw. die integrierte Software ist in erster Linie für die zuverlässige Auslieferung von statischen - zum Beispiel von unveränderlichen HTML-Dateien und von Bild-Dateien - sowie auch von dynamischen Dateien verantwortlich.

Unter dynamischen Dateien werden Seiten verstanden, bei denen die Inhalte individuell von einem eingeloggten User erstellt werden. In der Regel überträgt der Webserver die jeweilige HTML-Seite sowie die verknüpften Bild-Dateien (JPG, GIF, PNG, SVG) und Designbeschreibungen (CSS) als einzelne Dateien. Aufgrund dieser Konstellation sind zur Darstellung einer komplexen Website mitunter mehrere hundert Anfragen und entsprechende Serverantworten nötig. Jeder Webserver ist in der Lage, die Webseiten bzw. die Inhalte auf viele verschiedene Rechner gleichzeitig auszuliefern.

So läuft die Übertragung im Detail ab

Das Webserver-Programm kommuniziert in Bezug auf die Übertragung mit einem Webclient. In den meisten Fällen handelt es sich bei den Clients um Webbrowser oder um Crawler der Suchmaschinen. Zu Beginn erhält der Webserver vom Browser eine Nutzeranfrage (hier: Request). Als Antwort sendet der Webserver beispielsweise eine HTML-Seite zurück. Wie schnell diese Auslieferung funktioniert, hängt vor allem von der Struktur und der Komplexität der jeweiligen Inhalte ab. Statische Webinhalte sind oftmals schneller verfügbar, da dynamische Webinhalte in der Regel weitaus mehr Ressourcen benötigen.

Handelt es sich um ein statisches Dokument, ist dieses meistens direkt auf dem Host gespeichert. Demgegenüber müssen dynamische Inhalte erst erzeugt werden, wobei der Webserver vor der eigentlichen Antwort einen Programmcode - zum Beispiel in Java oder in PHP - ausführen muss. Die Antwort des Webservers wird dann vom Browser bzw. vom Client interpretiert. Diese Interpretation hat zur Folge, dass oftmals weitere Anfragen des Clients an den Webserver geschickt werden. Die Anfragen beziehen sich zum Beispiel auf CSS-Dateien oder auf eingebundene Bilder.

Welche Übertragungsmethoden kommen zum Einsatz?

Für die Übermittlung der Dateien und Inhalte werden die standardisierten Übertragungsprotokolle HTTP sowie die verschlüsselte Variante HTTPS genutzt. Diese basieren meistens auf den beiden Netzwerkprotokollen IP (Internet Protocol) sowie TCP (Transmission Control Protocol); seltener kommt auch UDP (User Datagram Protocol) zum Einsatz.

Die Übertragung läuft in der Regel über Port 80 (bei HTTP) oder über Port 443 (bei HTTPS). Mit dem von Google entwickelten SPYDY gibt es ein weiteres Netzwerkprotokoll, das allerdings experimenteller Natur ist. Dieses ergänzt das HTTP-Protokoll. So fußt zum Beispiel der 2015 verabschiedete HTTP/2-Standard in vielen Bereichen auf SPYDY.

Begriffliche Abgrenzung: Webserver und Webhosting

Die beiden Begriffe Webserver und Webhosting hängen im Hinblick auf die Übertragung von Webinhalten an Clients grundsätzlich zusammen. Webserver sind immer fundamentale Bestandteile des Webhostings. Fälschlicherweise werden die beiden Begriffe gerade von unerfahrenen Internet-Nutzern gleichbedeutend verwendet. Das ist aber nicht richtig. Die beiden Begriffe lassen sich klar voneinander abgrenzen.

Werden Webinhalte gespeichert und verfügbar gemacht, wird vom Webhosting respektive Hosting gesprochen. Dabei werden die Dateien einer Website auf einem so bezeichneten Webspace hinterlegt. Hierbei handelt es sich um einen Online-Speicherplatz für Webprojekte. Der Webspace fungiert also praktisch als eine Festplatte, auf der die jeweiligen Inhalte gespeichert werden. Damit die Nutzer die Webinhalte dann auch online abrufen können, muss der Webspace immer mit einem Webserver verbunden sein.

Einen Host selbst einrichten und verwalten

Zur Verfügung gestellt wird diese Kombination aus Webspace und einem Webserver bzw. einem Host von einem Hoster. Dabei haben Anwender die Wahl zwischen einem selbstverwalteten Host und einen direkt vom Webhoster verwalteten Webserver. Wer sich für einen selbstverwalteten Host entscheidet, ist auch selbst zuständig für die Einrichtung. Hierfür wird zwingend ein Webserver-Programm benötigt.

Im Handel sind mittlerweile zahlreiche Programme zu finden, mit denen ein Webserver betrieben werden kann. Im Internet gibt es auch kostenlose Varianten. Wichtig ist diesbezüglich, dass das Betriebssystem des Webservers kompatibel zur Webserver-Software ist. Die Mehrzahl der Server-Software für Webinhalte basieren dabei auf Unix bzw. Linux (Tomcat, Nginx, Apache etc.), sind aber auch für Windows geeignet.

Dies sind die meistgenutzten Webserver-Programme:

Apache Webserver

Diese beliebte Webserver-Software auf Open-Source-Basis ist kostenlos im Internet erhältlich. Das gesamte Programm ist modular aufgebaut und wird stetig weiterentwickelt. Es läuft auf nahezu allen Betriebssystemen. PHP und andere Skriptsprachen können problemlos integriert werden. Die Installation ist allerdings vergleichsweise komplex und kompliziert. Diverse Programmzusammenstellungen bzw. Software-Pakete (XAMPP etc.) mit Apache und Software für Skriptsprachen oder auch Datenbanken vereinfachen die Einrichtung erheblich. Das Webserver-Programm hat gegenüber der Konkurrenz aber an Boden verloren. Viele andere Webserver bieten bei der Datenübertragung inzwischen kürzere Antwortzeiten.

Microsoft IIS

Microsoft IIS ist ausschließlich auf Windows-Servern einsetzbar. Es handelt sich hierbei um ein komplettes Software-Paket mit mehreren Komponenten. Als Kommunikationsprotokolle dienen sowohl HTTP und HTTPS als auch POP3, SMTP, FTP, WebDAV und weitere Varianten. Über Microsoft IIS lassen sich ASP- oder .NET-Applikationen (ASP.NET) gezielt ausführen. Stehen die passenden ISAPI-Filter zur Verfügung, sind auch PHP und JSP möglich.

Nginx

Die kostenfreie Software agiert nicht nur als reiner Webserver. Vielmehr bietet das Programm zusätzlich Features wie beispielsweise einen Reverse Proxy. Dadurch wird der Host deutlich entlastet, was ein schnelleres Arbeiten ermöglicht.

Apache Tomcat

Dieses Webserver-Programm entstammt dem Java-Umfeld. Die quelloffene Software fungiert dabei als Webcontainer für serverseitige Webinhalte, die via Java erzeugt werden sollen. Möglich ist auch die Eingliederung in einen anderen Webserver. Hierfür steht der AJP-Connector zur Verfügung.

Lite Speed Web Server

Die Webserver-Software ist für Unix und Linux konzeptioniert. Das Programm ist in drei unterschiedlichen Versionen erhältlich. Die Schnelligkeit der Datenübertragung ist dabei abhängig von der installierten Version.

Weitere Aufgaben eines Webservers

Die primäre Aufgabe eines Webservers ist die Übertragung der Webinhalte. Zahlreiche Webserver-Programme beinhalten aber noch weitere Features und Funktionen. So sorgt eine entsprechende Software beispielsweise für eine Verschlüsselung der Kommunikation - via HTTPS - zwischen Webclient und Webserver. Außerdem kann eine Benutzerauthentifizierung für bestimmte Bereiche vorgenommen werden. Zudem übernimmt die Webserver-Software oftmals die Zuweisung von Cookies sowie die Um- bzw. Weiterleitung von Nutzer-Aufrufen per Rewrite-Engine. Auch Caching zählt häufig zum Leistungsportfolio.

(ID:46235018)