Was ist ein Webserver?
Auf einem Webserver speichert man Webinhalte und stellt hierdurch ihre ständige Erreichbarkeit sicher. Wenn Sie also eine Internetadresse in Ihrem Webbrowser aufrufen, ist es stets ein solcher Server, der die einzelnen Website-Bestandteile an Ihren Rechner schickt. Damit die Website zu jeder Zeit erreichbar ist, muss der betreffende Webserver permanent online sein.
Lassen Sie sich von den Vorteilen überzeugen. Probieren Sie Ihren Virtual Server ganz in Ruhe 30 Tage lang aus!
Webserver: Definition und Geschichte
Als Webserver (englische Schreibweise: „web server“; auch „HTTP-Server“ genannt) bezeichnet man jene Server, die zur Verbreitung von Webinhalten im Inter- oder Intranet dienen (englisch: „to serve“ = dienen/bedienen). Als Teil eines Rechnernetzwerks übertragen sie Dokumente an sogenannte Clients („Kunden“) – beispielsweise eine Webseite an einen Webbrowser.
Der Begriff kann sich generell auf zwei verschiedene Dinge beziehen: Entweder auf die Software eines Webservers (also das Programm an sich) oder den Computer, auf dem die Webserver-Software ausgeführt wird. Wenn es sich um den letztgenannten Webserver-Rechner handelt, wird dieser auch Host genannt (dabei kann ein Host auch mehrere Server-Programme beheimaten). Im Folgenden wird deshalb von Webserver-Software/HTTP-Server-Software (bzw. -Programm) oder aber von einem Host gesprochen, wenn explizit eine der beiden Bedeutungen gemeint ist.
Die Entwicklung des HTTP-Servers ist eng mit dem britischen Physiker und Informatiker Tim Berners-Lee verknüpft. 1989 regte dieser an, den Informationsaustausch des CERN (der Europäischen Organisation für Kernforschung) über ein Hypertext-System einfacher und schneller zu gestalten. Zusammen mit Robert Cailliau legte er 1990 einen Projektplan vor, aus dem im Laufe der Zeit neben dem ersten Webserver namens „CERN httpd“ auch der erste Webbrowser und einige weitere Grundlagen des Webs (wie HTML und HTTP) hervorgingen. Berners-Lee gilt daher heute als Begründer des World Wide Web.
Die Webserver-Technik
Die Software eines HTTP-Servers dient in erster Linie dazu, Daten für die Darstellung von Webinhalten anzubieten. Das Programm kommuniziert hierfür mit einem Webclient (in der Regel ein Webbrowser oder ein Suchmaschinen-Crawler).
Wenn Sie eine Homepage aufrufen möchten, geben Sie in Ihrem Webbrowser die entsprechende Internetadresse ein. Der Browser sendet eine Anfrage an den Webserver, der als Antwort zum Beispiel eine HTML-Seite zurückschickt. Diese kann als statisches Dokument auf dem Host gespeichert sein oder dynamisch erzeugt werden – das heißt, der Webserver muss vor der Antwort Programmcode (etwa in PHP oder Java) ausführen. Der Browser interpretiert die Antwort, was oft weitere Anfragen an den Server nach sich zieht, zum Beispiel nach eingebundenen Bildern oder CSS-Dateien.
Für die Übermittlung wird das Übertragungsprotokoll HTTP genutzt (bzw. dessen verschlüsselte Variante HTTPS), das auf den Netzwerkprotokollen IP und TCP (seltener UDP) beruht. Ein Webserver kann die Inhalte einer Website gleichzeitig an viele verschiedene Rechner bzw. deren Browser ausliefern. Wie viele Nutzeranfragen (Requests) wie schnell bearbeitet werden können, hängt u. a. von der Hardware und Auslastung des Hosts ab. Aber auch die Komplexität der Webinhalte spielt eine Rolle: Dynamische Webinhalte benötigen beispielsweise mehr Ressourcen als statische Inhalte.
Die Wahl des passenden Server-Rechners (und somit auch die Entscheidung, ob dieser virtuell, dediziert oder cloudbasiert ist) beugt einer Webserver-Überlastung vor. Doch selbst wenn Sie einen Server nutzen, der ideal auf Ihre Anforderungen abgestimmt ist, kann es trotzdem noch zu einem Server-Ausfall kommen. Gründe dafür können Hardware-Schäden oder Stromausfälle im Rechenzentrum sein, in dem sich Ihr Host befindet. Auch wenn es selten vorkommt: Bei einer solchen Ausfallzeit (Downtime) des Servers ist eine Website dann komplett vom Netz – zumindest wenn die Website nur auf einem Gerät ohne Anbindung an ein Content Delivery Network (CDN) läuft (was bei kleineren Webauftritten die Regel ist).
Zusätzliche Aufgaben eines Webservers
Auch wenn die Übertragung der Webinhalte ihre primäre Aufgabe ist, bieten viele HTTP-Server-Programme noch weitere Funktionen:
Zusätzliche Webserver-Aufgabe | |
---|---|
Sicherheit | Verschlüsselung der Kommunikation zwischen Webserver und Webclient via HTTPS |
Benutzerauthentifizierung | HTTP-Authentifizierung für bestimmte Bereiche einer Webanwendung |
Weiterleitung | Umleitung eines Dokumentaufrufs per Rewrite-Engine |
Caching | Zwischenspeicherung von dynamischen Dokumenten, um auf Anfragen schneller zu antworten und um einer Webserver-Überlastung vorzubeugen |
Zuweisung von Cookies | Senden und Verarbeiten von HTTP-Cookies |
Ein Host kann neben der Webserver-Software auch noch andere Server-Programme beinhalten – beispielsweise einen FTP-Server für den Datei-Upload oder einen Datenbankserver für dynamische Inhalte (wobei ein professioneller Internetdienstanbieter in aller Regel verschiedene Hardware dafür bereitstellen würde). Generell kann man viele verschiedene Server-Formen für ganz unterschiedliche Zwecke nutzen – neben den genannten sind auch Mailserver, Gameserver oder Proxy-Server verbreitet.
- On-Demand skalierbar, Load Balancer und Traffic inklusive
- Hochverfügbare Server-Plattform
- ISO-zertifizierte Rechenzentren am Standort Deutschland
- Inkl. 100,- € Startguthaben im 1. Monat
Begriffsbestimmung: Webserver vs. Webhosting
Welche Rolle spielen Webserver innerhalb des Webhostings? Und was genau ist Webhosting überhaupt? Grundsätzlich stellen Webserver immer einen fundamentalen Bestandteil des Webhostings dar. Vor allem Laien fällt die Unterscheidung zwischen den zwei Bezeichnungen aber nicht immer leicht. Wir grenzen die beiden Begriffe im Folgenden voneinander ab.
Als Webhosting (häufig genutzte Kurzform: Hosting) wird die Speicherung und Verfügbarmachung von Webinhalten bezeichnet. Die Dateien einer Website werden hierbei auf einem Webspace (Online-Speicherplatz für Webprojekte) hinterlegt. Der Webspace ist sozusagen die Festplatte, auf der die Webinhalte gespeichert werden – und dieser Speicherplatz muss mit einem Webserver verbunden sein, damit die Inhalte (beispielsweise einer Website) online abrufbar sind.
Einen Host (Webserver-Rechner) und den daran angeschlossenen Webspace erhält man von einem sogenannten (Web-)Hoster. Viele Internetdienstanbieter – auch (Internet-)Provider genannt – wie beispielsweise IONOS treten als Webhoster auf. Falls Sie sich bei einem Webhosting-Dienstleister für einen selbstverwalteten Host entschieden haben, müssen Sie diesen selbst einrichten. Hierfür benötigen Sie ein Webserver-Programm.
Gängige (kostenlose) Webserver-Software
Es existieren zahlreiche Programme, über die Sie einen eigenen Webserver betreiben können. Viele von ihnen erhalten Sie gratis im Internet. Die verwendete HTTP-Server-Software muss selbstverständlich mit dem Betriebssystem des Hosts kompatibel sein. Die meisten Server-Programme für Webinhalte fußen auf Unix bzw. Linux (Apache, NGINX, Tomcat etc.), laufen aber auch auf Windows. Die Ausnahme stellt der Microsoft IIS dar, der nur auf Windows-Server-Systemen läuft.
Einige der meistgenutzten Webserver-Programme sind nachfolgend aufgelistet.
Apache HTTP Server
Der Apache HTTP Server (oder einfach Apache-Webserver) ist kostenlos und wird permanent auf Open-Source-Basis weiterentwickelt. Das modular aufgebaute Programm läuft auf so gut wie jedem Betriebssystem und ist der am meisten genutzte HTTP-Server. Er eignet sich gut für dynamische Webinhalte: Skriptsprachen wie PHP lassen sich problemlos integrieren, über die CGI-Schnittstelle kann Apache andere Programme ausführen.
Die recht komplexe Integration von Software wie PHP und MySQL (die man für dynamische Inhalte benötigt) in einen Apache-Webserver lässt sich vereinfachen, indem man Software-Pakete wie XAMPP nutzt – solche Programmzusammenstellungen vereinfachen die Einrichtung stark. Sie beinhalten neben Apache außerdem noch passende Software für Datenbank und diverse Skriptsprachen.
Apache Tomcat
Hierbei handelt es sich um eine quelloffene, kostenlose Webserver-Software aus dem Java-Umfeld. Wer mit Java serverseitige Webinhalte erzeugen möchte, findet mit Apache Tomcat einen entsprechenden Webcontainer. Außerdem kann er via AJP-Connector in einen anderen Webserver eingegliedert werden (z. B. in den Apache HTTP Server oder Microsoft IIS).
NGINX
Auch diese Software ist kostenfrei und gleichzeitig mehr als ein gewöhnlicher Webserver – NGINX bietet u. a. einen Reverse Proxy, wodurch der HTTP-Server deutlich entlastet wird und somit schneller arbeiten kann. In der Vergangenheit gewann NGINX mehr und mehr an Popularität.
Microsoft IIS
Bei Microsoft Internet Information Services (IIS) handelt es sich um ein Server-Software-Paket, zu dem auch ein Webserver gehört. Früher war IIS ein fester Bestandteil der Windows-Server-Systeme – mittlerweile kann bei einigen Windows-Betriebssystemen das Programm bei Bedarf nachinstalliert werden. Wenig überraschend ist die Tatsache, dass man Microsoft IIS nur auf Windows-Servern einsetzen kann.
LiteSpeed Web Server
Hierbei handelt es sich um eine HTTP-Server-Software für Linux und Unix, bei der Sie die Wahl zwischen einer Open-Source-Version, einer kostenfreien Standard- sowie einer Enterprise-Variante haben. Der LiteSpeed Web Server besticht vor allem durch seine Schnelligkeit in der Datenübertragung, die wie zu erwarten in der kostenpflichtigen Enterprise-Version am höchsten ist.
Die Administration der HTTP-Server-Programme erfolgt in der Regel über den Fernzugriff von einem anderen Computer. Besonders komfortabel geht das über eine Fernwartungs-Software. Mit Plesk – einem der bekanntesten Programme für den Fernzugriff – können Sie ein Webserver-Programm sowohl von einem Linux- und Unix- als auch von einem Windows-Rechner aus verwalten. Folglich können Sie z. B. über einen Windows-Heimrechner einen Linux-Server steuern und andersherum.
Passenden Server finden und einen Webserver einrichten
Wenn Sie für Ihre Onlinepräsenz einen Webserver erstellen möchten, benötigen Sie zuerst einmal einen Host mit ausreichend Webspace. Eine der gängigsten Varianten stellt das Anmieten von Server-Ressourcen bei einem Provider dar. Vor allem wer kaum oder gar keine Kenntnisse der Server-Administration besitzt, kann auf Angebote wie Shared Hosting oder Managed Cloud-Hosting zurückgreifen und so seinen persönlichen Webserver einrichten.
Im Gegensatz zu einem Server mit Root-Zugriff – bei dem Sie alle Zugriffsrechte, aber auch die komplette Verantwortung für die Server-Sicherheit haben – übernimmt bei einem Managed Server der Hoster einen Großteil der grundlegenden Administration. Hier werden Ihnen Dinge wie Sicherheits- und Software-Updates weitgehend abgenommen; und dennoch können Sie den Server nach Belieben mit Software ausstatten. Bei Shared Hosting müssen Sie sich überhaupt nicht um die Software-Updates kümmern, haben aber ausschließlich Zugriff auf den Webspace und die vom Anbieter zur Verfügung gestellten Konfigurationsmöglichkeiten.
Einen Server mieten Sie in der Regel für eine monatliche Gebühr. Wie hoch diese Kosten sind, hängt von der Performance und dem Umfang der einzelnen Komponenten ab – etwa der Leistungsfähigkeit des Rechners (CPU und RAM), dem Webspace und der Art des Festplattenspeichers (SSD oder HDD). Wer die Kapazität des Webservers beim Hosting flexibel halten möchte, sollte zum Cloud-Hosting greifen. Hier kann zu jedem beliebigen Zeitpunkt die Leistung vieler Komponenten an die aktuellen Anforderungen eines Webprojekts angepasst werden.
Welche Leistung die jeweiligen Host-Komponenten benötigen, ist wiederum von den Anforderungen des Webangebots abhängig: Webprojekte wie ein kleiner Blog oder eine Online-Visitenkarte kommen auch mit günstigen bzw. weniger leistungsstarken Hosting-Paketen bestens aus. Große Onlineportale oder Internetangebote mit vielen rechenaufwendigen Webinhalten hingegen beanspruchen bestimmte Komponenten sehr viel stärker. Des Weiteren benötigen manche Webanwendungen ein höheres Datentransfervolumen als andere. Um sich hier abzusichern, können Sie bei den meisten Providern ein Paket mit einer Traffic-Flatrate buchen. Dieses garantiert, dass dem Datenverkehr stets genügend Kapazitäten zur Verfügung stehen.
Wenn Sie den passenden Server gefunden haben, können Sie auf diesem Ihre favorisierte HTTP-Server-Software einrichten. Allerdings gibt es selbst bei der Nutzung eines Managed Servers einige Sicherheitsaspekte, die man beim Webhosting beachten muss.
Webserver-Sicherheit
Wenn der Webserver erstellt und eingerichtet ist, sollten Sie fortan stets darauf achten, dass auf diesem immer alle aktuellen Updates eingespielt sind. Veraltete Versionen bieten Kriminellen und Hackenden Angriffsflächen, die es ihnen im schlimmsten Fall ermöglichen, die Kontrolle über Ihren Server zu erlangen. Beim Shared und Managed Hosting kümmert sich in der Regel der Internetprovider um alle Sicherheitsvorkehrungen – ansonsten ist dies jedoch Ihre Aufgabe.
Neben der ständigen Aktualisierung bietet vor allem eine Firewall Schutz vor Übergriffen. Auch die Einrichtung einer demilitarisierten Zone (DMZ) ist sinnvoll. Außerdem gibt es mit Fail2ban ein Framework, das ebenfalls vor unautorisierten Zugriffen schützen kann.
Ein weiterer Grundsatz der Webserver-Sicherheit lautet: Erlauben Sie als Administrator nur das, was für Ihren Server unbedingt nötig ist. Schließen Sie ansonsten alle Ports und beenden Sie jegliche nicht erforderlichen Dienste. Ebenfalls gehört die Vergabe sicherer Passwörter zu den grundlegenden Sicherheitsvorkehrungen bei der Betreuung eines Servers. Bei Fragen und in Notfällen ist eine zuverlässige und qualifizierte Kundenbetreuung sehr viel wert – vor allem weniger erfahrene Administratoren eines Servers können hiervon profitieren.
Wenn Ihr Hoster nicht vollständig für den Schutz Ihres Servers Sorge trägt, sollten Sie ein gewisses Know-how für die Server-Wartung und ein grundlegendes Verständnis für die Funktionsweise eines Hosts besitzen. Sicherlich können Sie sich dieses auch aneignen – dazu bietet sich das Ausprobieren und Lernen mit einem Server in einem geschlossenen Netzwerk an, in dem Sie keine Angriffe von Cyberkriminellen zu befürchten haben.
Exemplarischer Vorgang einer Webserver-Operation
Sobald Ihr HTTP-Server eingerichtet und die Inhalte Ihrer Website darauf übertragen wurden, kann er den Betrieb aufnehmen. Er arbeitet dabei nach dem Client-Server-Modell. Ein Beispiel: Wenn Sie die IONOS-Homepage besuchen möchten und hierfür in Ihrem Browser (dem Client) die Domain www.ionos.de
aufrufen, leiten Sie damit die folgenden Abläufe ein:
- Sobald Sie die Eingabe starten, übermittelt Ihr Browser die Internetadresse zuallererst an einen Nameserver (auch DNS-Server genannt). Als Bestandteil des Domain-Name-Systems (DNS) – dem Verzeichnisdienst des Internets – hat ein Nameserver sozusagen Zugriff auf das komplette Adressbuch des Internets. Der alphanumerische Domain-Name (
www.ionos.de
) wird daraufhin in eine numerische IP-Adresse (217.160.72.6) umgewandelt und diese zum Browser zurückgeschickt. Nun stellt der Browser eine Anfrage bezüglich der Webseiteninhalte. Dies geschieht, indem der Webbrowser die URL der angeforderten Webseite an die erhaltene IP-Adresse sendet – also denjenigen Webserver kontaktiert, der die Inhalte der Webseite enthält. - Der Webserver beantwortet die Anfrage, indem er ein Dokument der verlangten Webseite zurück an den Browser schickt. Daraufhin sendet der Browser erneut einen Request an den Webserver – diesmal für ein anderes Dokument, das Teil der angeforderten Webpage ist (beispielsweise ein eingebundenes Bild). Dieser Vorgang wiederholt sich so lange, bis alle Einzelteile der Seite übertragen wurden und nun die Webseite in Ihrem Browserfenster dargestellt wird. Wenn Sie nun auf einen Link der IONOS-Homepage klicken, wird eine andere Webseite vom Webserver angefordert. Somit geht der grundsätzliche Prozess – abgesehen von der nun gespeicherten DNS-Anfrage – wieder von vorne los.
Sie fühlen sich gut über die Erstellung Ihres eigenen Webservers informiert und wollen einen Server mieten? Egal ob Dedicated Server, Cloud Server oder vServer, IONOS hat die optimale Lösung für jeden Nutzungszweck. Entdecken Sie unser Server-Portfolio in unserem IONOS Shop.