Nach der strengen Definition ist ein Webserver eine gemeinsame Untergruppe eines Application Servers.
Ein Webserver liefert statische Webinhalte – z. B. HTML-Seiten, Dateien, Bilder, Videos – in erster Linie als Antwort auf Hypertext Transfer Protocol (HTTP)-Anfragen von einem Webbrowser.
Ein Application Server kann in der Regel auch Webinhalte bereitstellen, aber seine Hauptaufgabe besteht in der Interaktion zwischen Benutzerclients und serverseitigem Anwendungscode (dem Code, der die sogenannte Geschäftslogik repräsentiert), um dynamische Inhalte wie Transaktionsergebnisse, Entscheidungshilfen oder Echtzeitanalysen zu erzeugen und bereitzustellen.
Der Client für einen Application Server kann die anwendungseigene Benutzeroberfläche, ein Webbrowser oder eine mobile App sein und die Client-Server-Interaktion kann über eine beliebige Anzahl von Kommunikationsprotokollen erfolgen. In der Praxis ist die Grenze zwischen Webservern und Application Servern jedoch unschärfer geworden, insbesondere da sich der Webbrowser als Anwendungsclient der Wahl durchgesetzt hat und die Erwartungen der Benutzer an Webanwendungen und deren Leistung gestiegen sind.
Die meisten Webserver unterstützen Plug-ins für Skriptsprachen (z. B. ASP, JSP, PHP, Perl), die es dem Webserver ermöglichen, dynamische Inhalte auf der Grundlage einer serverseitigen Logik zu generieren. Immer mehr Anwendungsserver verfügen nicht nur über Webserver-Funktionen, sondern verwenden HTTP als primäres Protokoll und unterstützen andere Protokolle (z. B. CGI und CGI-Varianten) für die Anbindung an Webserver.
Sie ermöglichen es Web Applications auch, Dienste wie Reverse Proxy, Clustering, Redundanz und Lastausgleich zu nutzen – Dienste, die die Leistung und Zuverlässigkeit verbessern und den Entwicklern erlauben, sich weniger auf die Infrastruktur und mehr auf das Programmieren zu konzentrieren. Um die Sache noch verwirrender zu machen, werden viele Webserver und einige Anwendungsserver als Webanwendungsserver bezeichnet oder bezeichnen sich selbst als solche.
Das Fazit ist, dass die beliebtesten Webserver und Application Server von heute Mischformen aus beiden sind. Die meisten der immer umfangreicheren Anwendungen, die Sie heute nutzen, enthalten eine Kombination aus statischen Webinhalten und dynamischen Anwendungsinhalten, die über eine Kombination aus Webserver- und Application Server Technologien bereitgestellt werden.
Der Markt ist mit Webservern und Application Servern überflutet – zu viele, um sie hier aufzulisten. Stattdessen halten wir es für sinnvoller, die beliebtesten kostenlosen Open-Source-Optionen aufzuführen:
Nginx ist ein Open-Source-Webserver mit Reverse-Proxy, Lastenausgleich, Mail-Proxy und HTTP-Cache-Funktionen. Es sind auch kommerzielle, unterstützte Versionen von Nginx bei Nginx, Inc. erhältlich.
Nach Angaben des Internetforschungs- und Cybercrime-Präventionsunternehmens Netcraft wurden im Dezember 2019 fast 38 % aller weltweiten Websites und über 25 % der Millionen meistbesuchten Websites von Nginx bedient oder als Proxy genutzt. Zu den weltbekannten Nginx-Nutzern in Unternehmen gehören Dropbox, Netflix und Zynga.
Der 1995 erstmals veröffentlichte Apache HTTP Server (auch bekannt als „Apache“) ist ein weiterer beliebter kostenloser Open-Source-Webserver, der bis vor kurzem mehr Websites betrieben hat als jeder andere Webserver (in der Spitze 71 %), bevor er im April 2019 von Nginx überholt wurde. Im Dezember 2019 bediente Apache über 24 % aller Websites weltweit und 31 % der Millionen meistbesuchten Websites.
Apache Tomcat ist ein Open-Source Application Server, der Java Servlets ausführt, Webseiten mit JavaServer Page-Code rendert und bereitstellt und Anwendungen der Java Enterprise Edition (Java EE) bedient. Tomcat wurde 1998 veröffentlicht und ist der am weitesten verbreitete auf Open Source basierende Java Application Server.
Glassfish ist ein quelloffener Java EE-Anwendungsserver, der 2006 von Sun Microsystems eingeführt wurde und heute von der Eclipse Foundation gehostet wird. Wie die meisten Java-Anwendungsserver unterstützt Glassfish nicht nur Java Servlets und Enterprise JavaBeans (EJB), sondern kann auch als Webserver fungieren und Webinhalte als Antwort auf HTTP-Anfragen bereitstellen.
IBM Cloud Infrastructure Center ist eine mit OpenStack kompatible Softwareplattform für die Verwaltung der Infrastruktur von Private Clouds auf IBM zSystems und IBM LinuxONE.
Entdecken Sie Server, Speicher und Software für die Hybrid-Cloud- und KI-Strategie Ihres Unternehmens.
Finden Sie die richtige Cloud-Infrastrukturlösung für Ihre Geschäftsanforderungen und skalieren Sie Ressourcen nach Bedarf.