900 Stimmen

Was ist der Unterschied zwischen Anwendungsserver und Webserver?

Was ist der Unterschied zwischen Anwendungsserver und Webserver?

11voto

BalusC Punkte 1034465

In Java gibt es noch eine weitere: Web-Container (oder genauer gesagt, Servlet-Container). Es ist, sagen wir, zwischen Webserver und Anwendungsserver.

Ein Webcontainer in Java ist ein Anwendungsserver, der im Wesentlichen nur implementiert den JSP/Servlet-Teil von Java EE und lässt mehrere Kernbestandteile von Java EE, wie z. B. die EJB-Unterstützung, vermissen. Ein Beispiel ist Apache Tomcat.

10voto

Joseph Punkte 24916

Ein Anwendungsserver wird in der Regel entwickelt und eingesetzt, um länger laufende Prozesse zu erleichtern, die auch ressourcenintensiver sein werden.

Ein Webserver wird im Allgemeinen für kurze, nicht ressourcenintensive Datenpakete verwendet. Dies dient vor allem dazu, die Bereitstellung von webbasiertem Datenverkehr zu erleichtern.

10voto

Robert S. Punkte 24889

Ein Webserver führt das HTTP-Protokoll aus, um Webseiten bereitzustellen. Ein Anwendungsserver kann (muss aber nicht) auf einem Webserver laufen, um Programmlogik auszuführen, deren Ergebnisse dann vom Webserver geliefert werden können. Das ist ein Beispiel für ein Webserver/Anwendungsserver-Szenario.

Ein gutes Beispiel aus der Microsoft-Welt ist die Beziehung zwischen Internet Information Server und SharePoint Server. IIS ist ein Webserver; SharePoint ist ein Anwendungsserver. SharePoint sitzt "oben" auf IIS, führt eine bestimmte Logik aus und liefert die Ergebnisse über IIS.

In der Java-Welt gibt es ein ähnliches Szenario, zum Beispiel mit Apache und Tomcat.

9voto

Charles Bretana Punkte 137391

Ein Anwendungsserver ist ein Rechner (eigentlich ein ausführbarer Prozess, der auf einem Rechner läuft), der (auf einem beliebigen Kanal, unter Verwendung eines beliebigen Protokolls) auf Anfragen von Clients für einen von ihm bereitgestellten Dienst "hört" und dann auf der Grundlage dieser Anfragen etwas tut. (Dies kann eine Antwort an den Client beinhalten oder auch nicht)

Ein Webserver ist ein Prozess, der auf einer Maschine läuft, die speziell auf dem TCP/IP-Kanal mit einem der "Internet"-Protokolle (http, https, ftp usw.) "lauscht" und auf der Grundlage der eingehenden Anfragen tut, was immer sie tut... Im Allgemeinen (wie ursprünglich definiert) holt/erzeugt er eine HTML-Webseite und sendet sie an den Client zurück, die entweder aus einer statischen HTML-Datei auf dem Server geholt oder dynamisch auf der Grundlage der Parameter in der eingehenden Client-Anfrage erstellt wird.

8voto

Pascal Thivent Punkte 548176

Ein Webserver liefert zunächst Webinhalte (HTML und statische Inhalte) über das HTTP-Protokoll. Andererseits ist ein Anwendungsserver ein Container, auf dem Sie Geschäftslogik und Prozesse für Client-Anwendungen über verschiedene Protokolle einschließlich HTTP in einer n-Tier-Architektur aufbauen und bereitstellen können.

Ein Anwendungsserver bietet also viel mehr Dienste als ein Webserver, die in der Regel Folgendes umfassen:

  • Eine (proprietäre oder nicht proprietäre) API
  • Verwaltung des Lebenszyklus von Objekten,
  • Zustandsverwaltung (Sitzung),
  • Ressourcenverwaltung (z.B. Verbindungspools zu Datenbanken),
  • Lastausgleich, Failover...

AFAIK, ATG Dynamo war einer der allerersten Anwendungsserver in den späten 90er Jahren (gemäß der obigen Definition). Anfang 2000 war es die Herrschaft einiger proprietärer Anwendungsserver wie ColdFusion (CFML AS), BroadVision (Server-seitiges JavaScript AS), usw. Aber keine hat die Ära der Java-Anwendungsserver wirklich überlebt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X