Unterschied zwischen Anwendungsserver und Webserver?

8

Darf ich die Unterschiede zwischen Anwendungsservern und Webservern kennen? Bitte listet Beispiele von jedem auf.

    
GuruKulki 02.01.2010, 20:03
quelle

4 Antworten

6

Ein Webserver ist im Allgemeinen ein beliebiges Serverprogramm, das Inhalte über die Website bereitstellt (oder Ссылка ) Protokolle. Diese Server neigen dazu, bestimmte Ports abzurufen (80 oder 443). Die Clients für diese sind in der Regel Webbrowser wie Chrome, Firefox oder Internet Explorer.

Beispiele für Webserver: Apache, Microsoft IIS

Anwendungsserver ist ein viel unschärferer, weniger gut definierter Begriff. Es könnte sich auf jedes Programm beziehen, das Antworten auf Client-Anfragen für eine bestimmte Anwendung bereitstellt.

Im Kontext von "webserving" neigt ein "Anwendungsserver" dazu, sich auf ein Framework höherer Ebene zu beziehen, das zum Erzeugen dynamischer Inhalte verwendet wird. Dies könnte eine Art Container sein, in dem Sie eine bestimmte "Webanwendung" bereitstellen können. Beispiele wären Apache Tomcat, WebSphere, JBoss etc.

In beiden Fällen könnte sich der Begriff auch auf die Maschinenhardware beziehen, die Software für diese Aufgaben enthält.

    
user242275 02.01.2010, 20:22
quelle
2

Webserver ist ein Container für einfache Operationen wie Servlet / Jsp-Container. Anwendungsserver ist ein Container wie Web-Server, aber hinzufügen mehr Operationen als Webserver wie Transaktionsmanager, Datenquelle, Clustering, Lastausgleich, Messaging und andere komplizierte Geschäftsvorgänge.

Webserver wie Apache Tomcat.

Anwendungsserver wie jboss, Glassfish, Web Sphere, Oracle Application Server.

    
bassem 02.01.2010 20:14
quelle
0

Ein Webserver kann manchmal als Anwendungsserver fungieren (z. B. wenn er Webdienste hostet). Ein Anwendungsserver muss jedoch nicht als Webserver implementiert werden. Es kann nur auf TCP-Sockets hören und entsprechend handeln

    
Joel Martinez 02.01.2010 20:12
quelle
-1

Der Webserver

Ein Webserver behandelt das HTTP-Protokoll. Wenn der Webserver eine HTTP-Anforderung empfängt, antwortet er mit einer HTTP-Antwort, z. B. dem Zurücksenden einer HTML-Seite. Zum Verarbeiten einer Anforderung antwortet ein Webserver möglicherweise mit einer statischen HTML-Seite oder einem statischen Abbild, sendet eine Umleitung oder delegiert die dynamische Antwortgenerierung an ein anderes Programm, z. B. CGI-Skripts, JSPs (JavaServer Pages), Servlets, ASPs (Active Server Pages) ), serverseitige JavaScripts oder eine andere serverseitige Technologie. Was auch immer ihr Zweck ist, solche serverseitigen Programme erzeugen eine Antwort, meistens in HTML, um sie in einem Webbrowser anzuzeigen.

Verstehen Sie, dass das Delegierungsmodell eines Webservers relativ einfach ist. Wenn eine Anfrage auf den Webserver kommt, übergibt der Webserver die Anfrage einfach an das Programm, das am besten damit umgehen kann. Der Webserver stellt keine Funktionalität bereit, die über die Bereitstellung einer Umgebung hinausgeht, in der das serverseitige Programm die generierten Antworten ausführen und zurückgeben kann. Das serverseitige Programm bietet normalerweise selbst Funktionen wie Transaktionsverarbeitung, Datenbankkonnektivität und Messaging.

Obwohl ein Webserver möglicherweise keine Transaktionen oder Datenbankverbindungs-Pooling unterstützt, können verschiedene Strategien für Fehlertoleranz und Skalierbarkeit wie Lastenausgleich, Caching und Clustering-Funktionen verwendet werden, die oft fälschlicherweise als nur für Anwendungsserver reservierte Funktionen zugewiesen sind / p>

Der Anwendungsserver

Was den Anwendungsserver betrifft, so legt ein Anwendungsserver gemäß unserer Definition Geschäftslogik Client-Anwendungen über verschiedene Protokolle, möglicherweise einschließlich HTTP, offen. Während ein Webserver hauptsächlich das Senden von HTML für die Anzeige in einem Webbrowser behandelt, bietet ein Anwendungsserver Zugriff auf Geschäftslogik für die Verwendung durch Clientanwendungsprogramme. Das Anwendungsprogramm kann diese Logik genauso verwenden, wie es eine Methode für ein Objekt (oder eine Funktion in der prozeduralen Welt) aufrufen würde.

Solche Anwendungsserver-Clients können GUIs (grafische Benutzerschnittstelle) enthalten, die auf einem PC, einem Webserver oder sogar anderen Anwendungsservern laufen. Die Informationen, die zwischen einem Anwendungsserver und seinem Client hin- und herlaufen, sind nicht auf einfache Anzeigemarkierungen beschränkt. Stattdessen ist die Information Programmlogik. Da die Logik die Form von Daten- und Methodenaufrufen und nicht von statischem HTML hat, kann der Client die exponierte Geschäftslogik verwenden, wie es will.

In den meisten Fällen stellt der Server diese Geschäftslogik über eine Komponenten-API bereit, z. B. das EJB (Enterprise JavaBean) -Komponentenmodell, das sich auf J2EE-Anwendungsservern (Java 2 Platform, Enterprise Edition) befindet. Darüber hinaus verwaltet der Anwendungsserver seine eigenen Ressourcen. Solche Gate-Keeping-Aufgaben umfassen Sicherheit, Transaktionsverarbeitung, Ressourcenpooling und Messaging. Wie ein Webserver kann ein Anwendungsserver auch verschiedene Skalierbarkeits- und Fehlertoleranztechniken verwenden.

    
ThmHarsh 10.10.2014 05:17
quelle

Tags und Links