Ein Webserver (lateinisch servire ‚dienen‘; englisch server ‚Diener‘, ‚Dienst‘) ist ein Server, der Dokumente an Clients wie z. B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit Webserver-Software oder nur die Webserver-Software selbst. Webserver werden lokal, in Firmennetzwerken und überwiegend als WWW-Dienst im Internet eingesetzt. Dokumente können somit dem geforderten Zweck lokal, firmenintern und weltweit zur Verfügung gestellt werden.
Technik
BearbeitenDie Hauptaufgabe eines Webservers ist die Auslieferung statischer Dateien, z. B. unveränderlicher HTML- oder Bild-Dateien, oder dynamisch erzeugter Daten, z. B. Seiten, deren Inhalte stets individuell gemäß dem Profil eines eingeloggten Benutzers erstellt werden.
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 ist in der Lage, die Inhalte einer Webseite gleichzeitig auf viele verschiedene Rechner auszuliefern. Wie schnell Nutzeranfragen bearbeitet werden können, hängt nicht zuletzt von der Komplexität der Webinhalte ab: Beispielsweise benötigen dynamische Webinhalte mehr Ressourcen als statische.[1]
Als Übertragungsmethoden dienen standardisierte Übertragungsprotokolle (HTTP, HTTPS) und Netzwerkprotokolle wie IP und TCP, üblicherweise über Port 80 (HTTP) und Port 443 (HTTPS). Aktuell ist HTTP/2, welches aus dem experimentellen Protokoll SPDY hervorging.
Dynamische Dokumente
BearbeitenBei den meisten Webseiten werden die Inhalte erst beim Aufruf aus unterschiedlichen Quellen zusammengestellt.
Skriptsprachen wie ASP, PHP oder JSP interpretieren ein HTML-Dokument während des Aufrufs serverseitig und lassen es vom Webserver an den Webbrowser übertragen. Dabei wird der zuvor getrennte Inhalt und die Struktur aus Dateien und Datenbanken mit Content-Management-System zu einem Dokument verarbeitet. Webseiten und Applikationen wie Blogs, Onlineforen, Onlineshops etc. nutzen diese Technik.
Schnittstellen
BearbeitenWeitere Funktionen
BearbeitenNeben dem Ausliefern von statischen oder dynamischen Dokumenten können Webserver noch weitere Funktionen erfüllen:
- Zugriffsbeschränkung
- wird die Authentifizierung nicht durch das CMS verwaltet, können Webserver auch die HTTP-Authentifizierung einsetzen.
- Sicherheit
- Zur Verschlüsselung der Server-Client-Kommunikation wird ggf. das HTTPS-Verfahren eingesetzt.
- Cookieverwaltung
- Webserver können auch HTTP-Cookies verwalten.
- Weiterleitung
- soll gar kein Dokument ausgeliefert werden, sondern der Aufruf auf ein anderes Dokument weitergeleitet werden, wird die Anfrage mit einer Rewrite-Engine umgeleitet.
- Fehler
- etwaige Fehler oder Erfolge werden dem Browser mit HTTP-Statuscodes und einer Fehlerseite mitgeteilt.
- Protokollierung
- Auf einem Webserver werden üblicherweise alle Anfragen in einer Logdatei protokolliert, aus der mittels Logdateianalyse Statistiken über Anzahl der Zugriffe pro Seite generiert werden können. HTTP ist ein verbindungs- und zustandsloses Protokoll. Damit ist die Zuordnung einer Anforderung zu einem Nutzer über die IP-Adresse grundsätzlich möglich. Die Zuordnung ist jedoch z. B. bei Web-Zugängen über LAN nicht immer eindeutig. Die Angabe von Visits, Hits, Benutzer o. Ä. ist daher nur eingeschränkt aussagekräftig. Zwischengeschaltete Proxyserver, die gegenüber dem Webserver als Client auftreten, erschweren diese Zuordnung zusätzlich.
- Caching
- bei großen Zugriffszahlen kann vor allem die aufwändige dynamische Inhaltsauslieferung gepuffert werden und mit HTTP-Caching der Webserver, Skripte und Datenbanken geschont werden.
Konfiguriert werden Webserver durch spezifische Konfigurationsdateien oder Interfaces global oder auch durch standardisierte Formate wie .htaccess.
Beispiel
BearbeitenEin Nutzer ist mit dem Internet verbunden und gibt in die Adresszeile seines Webbrowsers eine Webadresse (URL oder Uniform Resource Locator) ein, z. B. „https://de.wikipedia.org/wiki/Webserver“. Für den darin enthaltenen Domain-Bestandteil „de.wikipedia.org“ fragt der Webbrowser beim Betriebssystem eine DNS-Namensauflösung an, was den Domainnamen in eine IP-Adresse umsetzt, z. B. 145.168.145.25 (IPv4) oder 2a00:1450:8007::63 (IPv6). Der Webbrowser baut anschließend eine HTTPS-Verbindung zur IP-Adresse auf Port 443 auf und überträgt die Parameter aus der angefragten URL per HTTP-Anfrage an den Webserver. Der Webserver schickt eine HTTP-Antwort an den Webbrowser, die das angefragte Dokument enthält, im genannten Beispiel eine HTML-Seite.
Geschichte
Bearbeiten1989 schlug Tim Berners-Lee seinem Arbeitgeber CERN, der Europäischen Organisation für Kernforschung, ein Projekt vor, das den Austausch von Informationen unter den mehreren tausend Mitarbeitern sichern sollte. Er führte unter anderem aus, dass ein „Web“ miteinander verbundener Informationen nützlicher als eine festgelegte Hierarchie sei und die Speichersoftware von der Anzeigesoftware getrennt sein müsse. Er konnte dieses Projekt verwirklichen und entwickelte in dessen Verlauf den ersten Webserver CERN httpd und den ersten Webbrowser WorldWideWeb, beide unter NeXTStep. Der CERN httpd wurde auf Unix und VMS portiert und bis 1996 weiterentwickelt.[2]
1994 entschied sich Tim Berners-Lee, das World Wide Web Consortium zu gründen, um die weitere Entwicklung der verwendeten Technologien (Protokolle, Darstellungssprachen, Unicode usw.) zu regulieren.
Software
BearbeitenDie am weitesten verbreiteten Webserver-Computerprogramme sind Apache HTTP Server, nginx, Microsoft Internet Information Services und Google Web Server.[3] Apache und nginx sind freie Software, während der Microsoft IIS und der Google Web Server proprietäre Software sind.
Weitere Webserver-Software:
- AOLserver (America Online; freie Software)
- Apache Tomcat (Apache Software Foundation; freie Software)
- Boa (Webserver) (GNU General Public License)
- CERN httpd (Open Source)
- Hiawatha (GNU General Public License)
- iPlanet (Sun Microsystems)
- Jetty (für Webapplikationen in Java)
- W3C Jigsaw (Open Source)
- lighttpd (BSD-Lizenz)
- Node.js (Node.js Foundation; MIT-Lizenz)
- uHTTPd (Freifunk/OpenWrt; freie Software)
- Zope (Zope Corporation, freie Software)
Marktanteile
BearbeitenSchätzungen von Marktanteilen beruhen auf unterschiedlichen Messverfahren und unterscheiden sich deshalb zum Teil massiv:
- Netcraft "all sites" misst den Typ des Webservers einer Domäne unabhängig davon, wie oft diese besucht wird. Der Webauftritt einer Privatperson zählt hier gleich viel wie derjenige von Google oder Facebook (diese Messgröße wird aus historischen Gründen weiter erhoben[4])
- Netcraft "active sites" schließt Seiten aus, die sich über längere Zeit nicht ändern, also meist private Homepages mit statischem Inhalt oder Domains mit ausschließlich automatisch generierten Inhalten[5]
- Netcraft "top million" ist eine dritte Kategorie derselben Firma, die nur die am meisten besuchten Domänen berücksichtigt
- W3Tech berücksichtigt ebenfalls die am meisten besuchten Domains[6]
Datum | Quelle | Apache | Microsoft IIS | nginx | Google Web Server |
---|---|---|---|---|---|
Januar 2013 | Netcraft, „all sites“ | 55,26 % | 16,93 % | 12,64 % | 3,58 % |
Juli 2013 | Netcraft, „all sites“ | 52,19 % | 19,65 % | 13,60 % | 3,92 % |
Januar 2014 | Netcraft, „all sites“ | 41,64 % | 29,42 % | 14,40 % | 2,47 % |
Juli 2014 | Netcraft, „all sites“ | 51,14 % | 14,35 % | 11,86 % | 8,12 % |
Januar 2015 | Netcraft, „all sites“ | 39,74 % | 27,52 % | 14,61 % | 2,30 % |
Juli 2015 | Netcraft, „all sites“ | 38,34 % | 26,52 % | 15,47 % | 2,38 % |
Januar 2016 | Netcraft, „all sites“ | 33,56 % | 28,95 % | 15,60 % | 2,29 % |
Juli 2016 | Netcraft, „all sites“ | 31,72 % | 35,26 % | 15,92 % | 2,10 % |
Januar 2017 | Netcraft, „all sites“ | 21,51 % | 45,66 % | 17,63 % | 1,00 % |
Februar 2017 | Netcraft, „all sites“[7] | 20,89 % | 43,16 % | 19,42 % | 1,03 % |
Netcraft, „active sites“[7] | 45,78 % | 9,22 % | 19,60 % | 6,70 % | |
Dezember 2018 | Netcraft, "all sites" | 18,94 % | 41,53 % | 21,63 % | 1,44 % |
Netcraft, "active sites" | 30,05 % | 6,72 % | 22,11 % | 7,81 % | |
Netcraft, "top million" | 33,04 % | 9,33 % | 25,89 % | k. A. | |
W3Techs[8], "top 10 million" | 44,4 % | 8,9 % | 41,0 % | 0,9 % | |
Dezember 2019 | Netcraft, "all sites" | 24,36 % | 14,59 % | 37,77 % | 2,94 % |
Netcraft, "active sites" | 29,25 % | 4,96 % | 19,14 % | 9,59 % | |
Netcraft, "top million" | 30,42 % | 8,17 % | 25,46 % | 1,82 % | |
W3Techs, "top 10 million" | 41,8 % | 7,9 % | 31,3 % | 1,1 % | |
Dezember 2020 | Netcraft, "all sites" | 27,07 % | 7,49 % | 33,48 % | 3,82 % |
Netcraft, "active sites" | 25,60 % | 3,87 % | 19,76 % | 10,08 % | |
Netcraft, "top million" | 24,63 % | 6,85 % | 23,21 % | - % | |
W3Techs, "top 10 million" | 35,0 % | 7,3 % | 32,8 % | 1,2 % | |
Dezember 2021 | Netcraft, "all sites" | 24 % | - %[9] | 32 % | - % |
Netcraft, "active sites" | 24 % | - % | 20 % | 10 % | |
Netcraft, "top million" | 24 % | - % | 22 % | - % | |
W3Techs, "top 10 million" | 31 % | 6 % | 33 % | 1 % |
Siehe auch
BearbeitenWeblinks
Bearbeiten- Vergleich von Webservern in der englischsprachigen Wikipedia
- Mit 165 Wörtern in die Zukunft. (Stern-Artikel zum 20-Jahr-Jubiläum des WWW)
- Servicing the first web server - Tim Berners-Lee's NeXT (Bilder des ersten Webservers, betrieben durch Tim Berners-Lee)
Einzelnachweise
Bearbeiten- ↑ Was ist ein Webserver? 1und1.de/digitalguide, abgerufen am 4. Dezember 2017.
- ↑ CERN httpd. World Wide Web Consortium, abgerufen am 25. April 2009.
- ↑ Web Server Survey | Netcraft
- ↑ How many active sites are there? Netcraft.com, abgerufen am 29. Januar 2019 (englisch, In the early days of the web, hostnames were a good indication of actively managed content providing information and services to the Internet community. The situation is now considerably more blurred […]).
- ↑ Active Sites. Abgerufen am 29. Januar 2019 (englisch, It is therefore desirable to find a way to count sites, rather than IPs, but excluding those sites which come from a standard or computer-filled template.).
- ↑ Technologies Overview. W3Techs, abgerufen am 29. Januar 2019 (We include only the top 10 million websites […] in the statistics in order to limit the impact of domain spammers.).
- ↑ a b Netcraft February 2017 Web Server Survey
- ↑ Usage of web servers for websites. W3Techs, abgerufen am 29. Januar 2019 (englisch).
- ↑ Microsoft wird von Netcraft nicht mehr aufgelistet