Kann jemand den Unterschied zwischen App-Server/Webserver/Webdiensten erklären?

Kann jemand den Unterschied zwischen App-Server/Webserver/Webdiensten erklären?

Ich weiß, dass beim Webserver die HTML-Seiten vom Server zum Client übertragen werden und bei Webdiensten eine XML-Datei gesendet wird, aber trotzdem ... ich verstehe sie nicht; nicht einmal den Unterschied zwischen ihnen.

Kann jemand diese Begriffe so einfach wie möglich erklären?

Plattform: Java, Python, PHP

Danke

Antwort1

Ein Webserver ist etwas, das Ihnen Inhalte über das HTTP(S)-Protokoll zur Verfügung stellt; er empfängt Anfragen in der Form "gib mirhttp://some.site.com/some/page?some=parameter" und sendet eine Antwort zurück, die eine HTML-Seite oder irgendetwas anderes sein kann, das über HTTP(S) übertragen werden kann; das heißt, so ziemlichirgendetwas(Einzelheiten finden Sie unter MIME).

In den meisten Fällen sind Webseiten nicht nur statische Textdateien, sondern werden vom Server mithilfe von serverseitigem Code, der von Programmierern entwickelt wurde, spontan generiert. Wenn eine Website (oder ein Teil davon) komplex genug ist, wird sie häufig als „Webanwendung“ bezeichnet. Der Begriff ist sehr vage und bedeutet eigentlich „eine Website mit dynamisch generiertem Inhalt“. Manchmal sind der Webserver und der Anwendungsserver tatsächlich dasselbe Programm (siehe IIS oder Apache mit Modulen). In anderen Fällen ist der Anwendungsserver ein völlig anderes Programm (das möglicherweise sogar auf einer anderen Maschine ausgeführt wird), das mit dem Webserver kommuniziert, um ihn mit dynamischem Inhalt zu versorgen, während der Webserver HTTP-Anfragen und statischen Inhalt verwaltet. Dies ist die Standardpraxis für Java-Websites.

Ein Webdienst ist eine Webanwendung, die bestimmten Standards folgt, die für den Austausch von Anfragen und Antworten mittels XML definiert sind. Die Idee dabei ist, dass der Webdienst nicht von Menschen verwendet wird, sondern von anderen Programmen aufgerufen wird (die möglicherweise selbst Webanwendungen sind) und daher keine ausgefallenen Grafiken oder ähnliches erstellen muss, sondern lediglich die angeforderten Informationen auf standardisierte Weise bereitstellen soll.

Antwort2

Es gibt keine wirklich genaue Definition dieser Begriffe, aber ganz grob gesagt:

  • AWebserverist ein Programm, das Inhalte (HTML, Bilder usw.) an Browser liefert, die dann von Menschen gelesen werden können
  • AInternetserviceist ein Dienst, auf den über HTTP zugegriffen werden kann (dasselbe Protokoll, das ein Webserver verwendet), normalerweise eine API, die von Programmen verwendet wird

Der Unterschied liegt also im „Publikum“: Ein Webserver stellt Seiten bereit, die die Leute in einem Browser lesen können; ein Webdienst stellt Daten für ein Programm bereit (das selbst ein Webserver sein kann ;-)).

Um die Verwirrung komplett zu machen, können die meisten Webserver (das Programm) zur Implementierung eines Webdienstes verwendet werden (da die technische Basis dieselbe ist). Es handelt sich also nicht wirklich um einen technischen Unterschied, sondern um den Zweck, den der Server hat.

Antwort3

Eine einfache Möglichkeit besteht darin, einige Szenarien durchzuspielen:

Ein Webserver verfügt über die Dateien, die Sie dem Client geben möchten. (Client kann ein Browser, eine Anwendung oder ein anderer Webserver oder ein anderer Server sein)

Ein Webdienst ist der Mechanismus, mit dem der Webserver eine Anfrage eines Clients versteht und darauf reagiert. Die Reaktion kann die Bereitstellung der Ergebnisse einer Abfrage, die Ausführung eines internen Befehls oder ähnliches sein.

Wenn Sie im Web 2.0-Jargon „Webservices“ (z. B. eine API) hören, sprechen Sie im Allgemeinen von einer Programmiersprache, die auf dem Webserver lauscht und auf Befehle oder Abfragen wartet.

Nehmen wir beispielsweise Twitter. Twitter selbst wird von einem Webserver betrieben, aber wenn ein Client auf „Follower“ klickt, sendet der Browser einen Webdienstbefehl an den Webserver und fragt, wer die Follower sind.

Ein Webserver stellt per Definition Dateien bereit, muss aber eine Art Webdienst ausführen, um mit Clients interagieren zu können. In Sysadmin-Kreisen kann ein Webdienst auch jeder Dienst sein, der in Bezug auf den Webserver verfügbar gemacht werden kann. Wenn Sie beispielsweise eine Website mit 4 kundenorientierten Anwendungen (MySQL, Tomcat, Apache, NetBeans) haben, könnten Sie diese locker als „Webdienste“ bezeichnen, obwohl es sich technisch gesehen um Webserver und Datenbankdienste handelt, aber das ist meiner Meinung nach nicht das, wonach Sie gesucht haben. Bleiben Sie bei Webdiensten, da es sich auf APIs bezieht.

Auch das dürfte sich gut ausdehnen -http://en.wikipedia.org/wiki/Web_serverUndhttp://en.wikipedia.org/wiki/Web_service

HTH

verwandte Informationen