Quelle est la différence entre application server et Web server?

Quelle est la différence entre application server et web server?

543
demandé sur Palec 2009-06-01 22:57:26

26 réponses

la plupart du temps, ces termes serveur Web et serveur D'Application sont utilisés de façon interchangeable.

voici quelques-unes des principales différences dans les caractéristiques du serveur Web et du serveur D'Application:

  • serveur Web est conçu pour servir le contenu HTTP. App Server peut également servir du contenu HTTP mais n'est pas limité à HTTP. Il peut être fourni un autre support de protocole tel que RMI / RPC
  • serveur Web est principalement conçu pour servir le contenu statique, bien que la plupart des serveurs Web ont des plugins pour supporter les langages de script comme Perl, PHP, ASP, JSP etc. grâce à laquelle ces serveurs peuvent générer du contenu HTTP dynamique.
  • la plupart des serveurs d'applications font partie intégrante du serveur Web, ce qui signifie que le serveur D'applications peut faire tout ce dont le serveur Web est capable. En outre, App Server dispose de composants et de fonctionnalités pour soutenir les services au niveau de L'Application tels que la mise en commun de connexions, la mise en commun D'objets, la Transaction Support, services de messagerie, etc.
  • étant donné que les serveurs web conviennent bien aux contenus statiques et les serveurs app aux contenus dynamiques, la plupart des environnements de production ont un serveur web agissant comme mandataire inverse du serveur app. Cela signifie que lors de l'entretien d'une requête de page, les contenus statiques (tels que les images/HTML statiques) sont servis par un serveur web qui interprète la requête. Utilisation d'une sorte de technique de filtrage (principalement l'extension de la ressource demandée) le serveur web identifie le contenu dynamique demande et de manière transparente vers l'avant pour serveur d'application

un exemple d'une telle configuration est Apache Tomcat HTTP Server et Oracle (anciennement BEA) WebLogic Server. Apache Tomcat serveur HTTP est un serveur Web et Oracle WebLogic est un serveur D'Application.

dans certains cas, les serveurs sont étroitement intégrés tels que IIS et.NET Runtime. IIS est un serveur web. Lorsqu'il est équipé d'un environnement d'exécution.net, IIS est capable de fournir des services d'application.

491
répondu Rutesh Makhijani 2014-04-24 13:44:39

les Deux termes sont très génériques, l'un de l'autre et vice-versa, dans certains cas.

  • serveur Web : sert le contenu sur le web en utilisant le protocole http.

  • serveur d'Application : accueille et expose la logique métier et les processus.

je pense que le point principal est que le serveur web expose tout à travers le protocole http, tandis que le serveur d'application n'est pas limité.

cela dit, dans de nombreux scénarios, vous trouverez que le serveur web est utilisé pour créer le front-end de l'application serveur, qui est, il expose un ensemble de pages web qui permettent à l'utilisateur d'interagir avec les règles commerciales trouvé dans le serveur d'application.

110
répondu jmservera 2009-10-19 01:50:26

il s'agit d'une réponse détaillée avec quelques scénarios pour comprendre clairement la différence,la similitude et comment les deux peuvent fonctionner en conjonction et tous

Serveur d'Application est un terme qui est parfois mélangé avec un serveur web . Alors qu'un serveur web gère principalement les protocoles HTTP , le serveur d'application traite de plusieurs protocoles différents, y compris, mais non limité, à HTTP .

Le serveur Web principal travail consiste à afficher le contenu du site et le serveur d'application est en charge de la logique , l'interaction entre l'utilisateur et le contenu affiché. Le serveur d'application est travaillant en conjonction avec le serveur web, où l'un s'affiche et l'autre interagit.

les informations se déplaçant de part et d'autre du serveur et son client n'est pas limité au simple affichage de marque, mais à l'interaction entre les deux.

dans la plupart des cas, le serveur crée cette interaction à travers une API de composants , comme J2EE (plate-forme Java 2)) , EJB (Enterprise JavaBean) et d'autres logiciels d'application différents.

enter image description here

un exemple:

la meilleure façon de comprendre la différence entre les scénarios où un serveur d'application fonctionne avec le serveur web et un scénario où il n'y a pas de serveur d'application est par le biais d'une boutique en ligne.

scénario 1: serveur Web sans serveur d'application

vous avez une boutique en ligne avec seulement un serveur web et aucun serveur d'application. Le site fournira un affichage où vous pouvez choisir un produit. Lorsque vous soumettez une requête, le site effectue une recherche et renvoie un résultat HTML à son client. Le serveur web envoie votre requête directement au serveur de la base de données (soyez patient, je vais expliquer celui-ci dans notre prochain nugget) et attend une réponse. Une fois reçu, le serveur web formule la réponse dans un fichier HTML et l'envoie à votre navigateur. Cette communication de va-et-vient entre le serveur et le serveur de base de données se produit chaque fois qu'une requête est lancée.

scénario 2: serveur Web avec un serveur d'application

si la requête que vous voulez lancer a déjà été faite et qu'aucune donnée n'a changé depuis, le serveur générera les résultats sans avoir à envoyer la requête au serveur de base de données. Cela permet en temps réel requête où un second client peut accéder à la même information et recevoir des informations fiables en temps réel sans envoyer une autre requête dupliquée au serveur de la base de données. Le serveur agit comme un intermédiaire entre le serveur de base de données et le serveur web. Cela permet à l'information tirée d'être réutilisable alors que dans le premier scénario, puisque cette information est intégrée dans une page HTML particulière et "personnalisée", ce n'est pas un processus réutilisable. Un deuxième client devra demander l'info, encore et recevez une autre page HTML intégrée avec les informations demandées - très inefficace. Sans compter que ce type de serveur est très flexible en raison de sa capacité à gérer ses propres ressources, y compris la sécurité, le traitement des transactions, la messagerie et la mise en commun des ressources.

pour soutenir une telle variété de tâches complexes, ce serveur doit avoir une redondance intégrée, une grande puissance de traitement et une grande quantité de RAM pour traiter toutes les données qu'il tire en temps réel.

Espérons que cette aide.

106
répondu Durai Amuthan.H 2014-06-08 11:55:49

comme Rutesh et jmservera l'ont souligné, la distinction est floue. Historiquement, elles étaient différentes, mais dans les années 90, ces deux catégories auparavant distinctes mélangeaient des caractéristiques et fusionnaient effectivement. À ce stade, il est probablement préférable d'imaginer que la catégorie de produits "App Server" est un super-ensemble strict de la catégorie "Web server".

un peu d'histoire. Dans les premiers jours du navigateur de mosaïque et de contenu hypertexte, il a évolué cette chose appelée un "serveur web" qui servait le contenu de la page web et les images sur HTTP. La plupart du contenu était statique, et le protocole HTTP 1.0 était juste un moyen d'expédier des fichiers. Rapidement, la catégorie" serveur web " a évolué pour inclure la capacité de CGI - lançant efficacement un processus sur chaque demande web pour générer du contenu dynamique. HTTP a également évolué et les produits sont devenus plus sophistiqués, avec la mise en cache, la sécurité et les fonctionnalités de gestion. À mesure que la technologie évoluait, nous avons obtenu des serveurs Java spécifiques à L'entreprise. technologie de Kiva et NetDynamics, qui ont finalement tous fusionné avec JSP. Microsoft a ajouté ASP, je pense en 1996, à Windows NT 4.0. Le serveur web statique avait appris quelques nouvelles astuces, de sorte qu'il était un "serveur d'application" efficace pour de nombreux scénarios.

dans une catégorie parallèle, le serveur app avait évolué et existait depuis longtemps. les entreprises ont livré des produits pour Unix comme Tuxedo, TopEnd, Encina qui étaient philosophiquement dérivés de la gestion des applications des environnements de surveillance comme IMS et le SCIC. L'offre de Microsoft était Microsoft Transaction Server (MTS), qui a évolué plus tard en COM+. La plupart de ces produits spécifiaient des protocoles de communication "fermés" spécifiques au produit pour interconnecter les clients "fat" aux serveurs. (Pour Encina, le protocole comms était DCE RPC; pour MTS C'était DCOM; etc.) En 1995/96, ces serveurs app traditionnels ont commencé à intégrer une capacité de communication HTTP de base, d'abord via des passerelles. Et les lignes ont commencé à flouter.

Les serveurs Web

sont devenus de plus en plus évolués en ce qui concerne la manipulation de charges plus élevées, plus de concurrence, et de meilleures fonctionnalités. Les serveurs App offrent de plus en plus de capacités de communication basées sur le HTTP.

à ce point la ligne entre" app server "et" web server " est floue. Mais les gens continuent d'utiliser les termes différemment, comme une question d'accent. Quand quelqu'un dit "serveur web" vous pensez souvent HTTP-centric, Web UI, applications orientées. Quand quelqu'un dit "serveur D'application" vous pouvez penser " charges plus lourdes, fonctionnalités d'entreprise, les transactions et les files d'attente, la communication multicanal (HTTP + Plus). Mais souvent, c'est le même produit qui répond aux deux séries d'exigences de la charge de travail.

  • WebSphere, "app server" D'IBM possède son propre serveur web.
  • WebLogic, un autre serveur d'applications traditionnel, de même.
  • Windows, qui est le serveur D'application de Microsoft (en plus d'être son serveur de fichiers et D'Impression, son serveur de médias, etc.), les faisceaux de IIS.
53
répondu Cheeso 2009-06-02 13:55:49

serveur Web

exécuter python -m 'SimpleHTTPServer' et passer à http://localhost:8080 . Ce que vous voyez est un serveur web à son fonctionnement. Le serveur sert simplement des fichiers sur HTTP stockés sur votre ordinateur. Le point clé est que tout cela se fait en plus du protocole HTTP. Il existe aussi des serveurs FTP par exemple qui font exactement la même chose (servir des fichiers stockés) mais en plus d'un protocole différent.

serveur d'Application

disent que nous avons une application minuscule comme ci-dessous (extrait de flacon ).

@app.route('/')
def homepage():
    return '<html>My homepage</html>'

@app.route('/about')
def about():
    return '<html>My name is John</html>'

le petit programme d'exemple fait correspondre L'URL / à la fonction homepage() et le /about à la fonction about() .

pour exécuter ce code, nous avons besoin d'un serveur d'application - un programme ou un module qui peut écouter les requêtes d'un client et en utilisant notre code, renvoie quelque chose dynamiquement. Dans l'exemple, nous retournons simplement du HTML très mauvais.

Quelle est la logique commerciale dont parlent tous les autres? Eh bien, puisqu'une URL correspond à quelque part spécifiquement dans notre base de données, nous montrons hypothétiquement une certaine logique sur la façon dont notre programme fonctionne.


Récapitulation

serveur web - sert des fichiers stockés quelque part (le plus souvent .CSS. ,HTML. ,js). Les serveurs Web courants sont Apache, Nginx ou même le simple serveur Python.

serveur d'application - sert les fichiers générés à la volée. Essentiellement la plupart des serveurs web ont une sorte de plugins ou même viennent avec la fonctionnalité intégrée pour le faire. Il existe aussi des serveurs d'applications stricts comme Gunicorn (Python), Unicorn (Ruby), uWSGI (Python), etc.

noter que vous pouvez réellement construire un web serveur avec le code du serveur d'application. Cela est fait dans certains cas pendant le développement où vous ne voulez pas avoir un million de serveurs différents tournant sur votre ordinateur.

36
répondu Pithikos 2016-02-12 10:56:12

comme beaucoup l'ont déjà dit, les serveurs web traitent les requêtes HTTP, tandis que les serveurs d'application traitent les requêtes pour les composants distribués. Donc, peut-être que la meilleure façon de comprendre la différence est de comparer les deux produits en ce qui concerne l'environnement de programmation qu'ils offrent.

Serveur Web -> Environnement De Programmation

IIS: ASP (.NET)

Tomcat: Servlet

Jetty: Servlet

Apache: Php, CGI

Serveurs D'Applications - > Environnement De Programmation

MTS: COM+

WAS: EJB

JBoss: EJB

Serveur D'applications WebLogic: EJB

la différence cruciale est que les serveurs d'application prennent en charge certains composant distribué technologie, offrant des fonctionnalités comme l'invocation à distance et les transactions distribuées, comme EJB dans le monde de Java ou COM+ sur la plate-forme Microsoft. Le serveur Http supporte souvent des environnements de programmation plus simples, souvent des scripts, comme ASP (.NET) dans le cas de Microsoft. ou Servlet-basé, y compris JSP et beaucoup d'autres dans le cas de Java ou PHP et CGI dans le cas D'Apache.

autres fonctionnalités telles que l'équilibrage de la charge, le clustering, la session-failover, la mise en commun des connexions, etc. que l'habitude d'être dans le domaine des serveurs d'application, sont disponibles sur les serveurs web ainsi directement ou par l'intermédiaire de certains produits de tiers.

Enfin, il est intéressant de noter que l'image s'est déformée avec "léger conteneurs" comme Spring Framework, qui complètent souvent l'objectif des serveurs d'application de manière plus simple et sans l'infrastructure de serveur d'application. Et puisque l'aspect distribution dans les applications se déplace de la composante distribuée vers le paradigme de service et l'architecture SOA, il y a de moins en moins d'espace laissé pour les serveurs d'application traditionnels.

33
répondu Dan 2009-11-01 14:26:02

un serveur Web traite exclusivement les requêtes HTTP/HTTPS. Il sert le contenu sur le web en utilisant le protocole HTTP/HTTPS.

un serveur d'application sert la logique commerciale aux programmes d'application par le biais de n'importe quel nombre de protocoles, peut-être y compris HTTP. Le programme d'application peut utiliser cette logique tout comme il appellerait une méthode sur un objet. Dans la plupart des cas, le serveur expose cette logique commerciale à travers une API de composants, comme le composant EJB (Enterprise JavaBean). modèle trouvé sur les serveurs D'application Java EE (plate-forme Java, Enterprise Edition). Le point principal est que le serveur web expose tout à travers le protocole http, tandis que le serveur d'application n'est pas limité. Un serveur d'application offre donc beaucoup plus de services qu'un serveur web qui comprend typiquement:

  • a (propriétaire ou non) API
  • équilibrage de charge, terminé...
  • gestion du cycle de vie des objets
  • la gestion de l'État (session)
  • gestion des ressources (par exemple, connexion de pools à une base de données)

la plupart des serveurs d'applications font partie intégrante du serveur Web, ce qui signifie que le serveur D'applications peut faire tout ce dont le serveur Web est capable. En outre, App Server dispose de composants et de fonctionnalités pour soutenir les services au niveau de L'Application tels que la mise en commun de connexions, la mise en commun D'objets, le soutien de transactions, les services de messagerie, etc.

un serveur d'application peut (mais n'exécute pas toujours) sur un serveur web pour exécuter une logique de programme, dont les résultats peuvent ensuite être fournis par le serveur web. C'est un exemple de scénario de serveur web/serveur d'application. Un bon exemple dans le monde de Microsoft est la relation serveur D'Information Internet / serveur SharePoint. IIS est un serveur web; SharePoint est un serveur d'applications. SharePoint s'assoit "sur le dessus" de IIS, exécute la logique spécifique, et sert les résultats via IIS. Dans le monde Java, il y a un scénario similaire avec Apache et Tomcat, par exemple.

étant donné que les serveurs web conviennent bien au contenu statique et les serveurs d'applications au contenu dynamique, la plupart des environnements de production ont un serveur web agissant comme mandataire inverse du serveur d'applications. Cela signifie que pendant le service d'une requête de page, les contenus statiques tels que les images / html statiques sont servis par un serveur web qui interprète la requête. En utilisant une sorte de technique de filtrage (principalement l'extension de requested resource) web server identifie dynamic content request et transmet de façon transparente à app server.

un exemple de cette configuration est Apache HTTP Server et BEA WebLogic Server. Le serveur HTTP Apache est le serveur Web et BEA WebLogic le serveur D'Application. Dans certains cas, les serveurs sont étroitement intégrés, comme IIS et.NET Runtime. IIS est un serveur web. lorsqu'il est équipé D'un environnement d'exécution. net, IIS est capable de fournir des services d'application


Web Server                               Programming Environment
Apache                                   PHP, CGI
IIS (Internet Information Server)        ASP (.NET)
Tomcat                                   Servlet
Jetty                                    Servlet

Application Server                       Programming Environment
WAS (IBM's WebSphere Application Server) EJB
WebLogic Application Server (Oracle's)   EJB
JBoss AS                                 EJB
MTS                                      COM+
17
répondu Parv 2012-09-30 07:41:33

en bref un serveur web est un serveur qui sert des pages web aux utilisateurs via http. Un serveur d'application est un serveur qui héberge la logique d'entreprise pour un système. Il héberge souvent à la fois des processus de longue durée/discontinu et/ou des services interop non destinés à la consommation humaine (services REST/JSON, SOAP, RPC, etc.).

14
répondu C. Ross 2014-01-17 21:35:55

la principale différence entre le serveur Web et le serveur d'application est que le serveur web est destiné à servir des pages statiques par exemple HTML et CSS, tandis que le serveur D'Application est responsable de générer du contenu dynamique en exécutant le code côté serveur par exemple JSP, Servlet ou EJB.

lequel dois-je utiliser?

Une fois que vous connaissez la différence entre le web et le serveur d'application et les conteneurs web, il est facile de comprendre quand utiliser ils. Vous avez besoin d'un web server comme Apache HTTPD si vous servez des pages Web statiques. Si vous avez une application Java avec juste JSP et Servlet pour générer du contenu dynamique alors vous avez besoin de web containers comme Tomcat ou Jetty. Tandis que, si vous avez L'application Java EE en utilisant EJB, transaction distribuée, messagerie et autres fonctionnalités de fantaisie que vous avez besoin d'un véritable application server comme JBoss, WebSphere ou Oracle WebLogic.

conteneur Web fait partie de Le serveur Web et le serveur Web font partie du serveur D'Application.

Application Server

serveur Web est composé de conteneur web, tandis que le serveur D'Application est composé de conteneur web ainsi que le conteneur EJB.

11
répondu Arun Raaj 2018-04-17 22:20:51

un serveur web exécute le protocole HTTP pour servir les pages web. Un serveur d'application peut (mais n'exécute pas toujours) s'exécuter sur un serveur web pour exécuter une logique de programme, dont les résultats peuvent ensuite être fournis par le serveur web. C'est un exemple de scénario de serveur web/serveur d'application.

un bon exemple dans le monde de Microsoft est la relation serveur D'Information Internet / serveur SharePoint. IIS est un serveur web; SharePoint est un serveur d'applications. SharePoint est assis "on top" de IIS, exécute la logique spécifique, et sert les résultats via IIS.

dans le monde Java, il y a un scénario similaire avec Apache et Tomcat, par exemple.

8
répondu Robert S. 2009-06-01 19:04:57

un serveur d'application est généralement conçu et déployé pour faciliter les processus plus longs qui nécessitent également plus de ressources.

un serveur web est utilisé pour de courtes rafales qui ne nécessitent généralement pas beaucoup de ressources. Ceci est principalement pour faciliter la desserte du trafic basé sur le web.

7
répondu Joseph 2009-06-01 19:00:08

d'une part, un serveur Web sert des contenus web (HTML et statiques) sur le protocole HTTP. D'un autre côté, un serveur d'application est un conteneur sur lequel vous pouvez construire et exposer la logique et les processus d'affaires aux applications du client à travers divers protocoles, y compris HTTP dans une architecture n-tier.

un serveur d'application offre donc beaucoup plus de services qu'un serveur web qui comprend typiquement:

  • A (propriétaire ou non) API
  • gestion du cycle de vie des objets,
  • la gestion de l'État (session),
  • la gestion des Ressources (par exemple, les pools de connexions de base de données),
  • équilibrage de charge, terminé...

AFAIK, ATG Dynamo fut l'un des tout premiers serveurs d'applications à la fin des années 90 (selon la définition ci-dessus). Au début de l'an 2000, ce fut le règne de certains serveurs d'applications propriétaires comme ColdFusion (CFML AS), BroadVision (JavaScript côté serveur), etc. Mais aucun n'a vraiment survécu à L'ère du serveur D'applications Java.

7
répondu Pascal Thivent 2009-11-01 21:10:57

en langage Java il y en a un de plus: conteneur web (ou plus strictement, conteneur servlet). C'est, disons, entre le serveur web et le serveur d'application. Un conteneur web est en termes Java un serveur d'application qui essentiellement seulement met en œuvre la partie JSP/Servlet de Java EE et manque de plusieurs parties centrales de Java EE, comme le soutien EJB. Un exemple est Apache Tomcat.

7
répondu BalusC 2009-11-08 17:39:48

la frontière entre ces deux-là s'amenuise.

application servers expose business logic à un client. Ainsi, son serveur d'application similaire comprend un ensemble de méthodes(pas nécessairement cependant, peut même être un ordinateur en réseau permettant à beaucoup de logiciels d'exécuter sur elle) pour exécuter la logique d'affaires. Ainsi, il affichera simplement les résultats souhaités, pas le contenu HTML. (similaire à un appel de méthode). Il n'est donc pas strictement basé sur HTTP.

mais web les serveurs transmettent le contenu HTML aux navigateurs web (strictement HTTP). Les serveurs Web étaient capables de gérer uniquement les ressources Web statiques, mais l'émergence de scripts côté serveur a aidé les serveurs web à gérer les contenus dynamiques ainsi. Où le serveur Web prend la requête et la dirige vers le script (scripts PHP, JSP, CGI, etc.) pour créer du contenu HTML à envoyer au client. Puis le serveur web sait comment les renvoyer au client. Parce que c'est ce qu'un serveur web sait vraiment.

cela dit, de nos jours les développeurs utilisent ces deux-là ensemble. Où le serveur Web prend la requête et appelle ensuite un script pour créer le HTML, mais le script appellera de nouveau une logique de serveur d'application (par exemple récupérer des détails de transaction) pour remplir le contenu HTML.

donc dans ce cas les deux serveurs ont été utilisés efficacement.

donc .... On peut très bien dire que, de nos jours, dans la plupart des cas, les serveurs web sont utilisés comme un sous-ensemble les serveurs d'applications. Mais sur le plan théâtral, ce n'est pas le cas.

j'ai lu de nombreux articles sur ce sujet et trouvé cet" article 1519140920 " assez pratique.

7
répondu Dilruk 2014-08-17 12:58:41

un serveur d'application est une machine (un processus exécutable tournant sur une machine, en fait) qui" écoute " (sur n'importe quel canal, en utilisant n'importe quel protocole), les requêtes des clients pour n'importe quel service qu'elle fournit, et fait ensuite quelque chose basé sur ces requêtes. (peut impliquer ou non une réponse au client)

un serveur Web est en cours d'exécution sur une machine qui "écoute" spécifiquement sur un canal TCP/IP en utilisant l'un des protocoles "internet", (http, https, ftp, etc..) et fait tout ce qu'il fait sur la base de ces demandes entrantes... En général, (tel que défini à l'origine), il récupérait/générait et renvoyait une page Web html au client, soit récupérée à partir d'un fichier html statique sur le serveur, soit construite dynamiquement sur la base des paramètres de la requête client entrante.

3
répondu Charles Bretana 2009-06-01 19:04:23

la plus grande différence est qu'un serveur Web traite les requêtes HTTP, tandis qu'un serveur D'Application exécute la logique commerciale sur un nombre quelconque de protocoles.

3
répondu MarkPowell 2009-10-31 15:07:02

Tout ce qui précède est un peu trop compliqué quelque chose de très simple. Un serveur d'application contient un serveur web, un serveur d'application a juste quelques ajouts/extensions à lui que les serveurs Web standard. Si vous regardez TomEE comme un exemple:

CDI - Apache OpenWebBeans
EJB - Apache OpenEJB
JPA - Apache OpenJPA
JSF - Apache MyFaces
JSP - Apache Tomcat
JSTL - Apache Tomcat
JTA - Apache Geronimo Transaction
Servlet - Apache Tomcat
Javamail - Apache Geronimo JavaMail
Bean Validation - Apache BVal

vous verrez que Tomcat (web container/server) est juste un autre outil dans l'arsenal des serveurs app. Vous pouvez obtenir JPA et l'autre tech dans le serveur web ainsi si vous voulez, mais l'application les serveurs empaquettent toutes ces choses pour votre commodité. Pour être entièrement classé comme un serveur d'application vous avez essentiellement besoin de se conformer à une liste d'outils définis par une norme.

3
répondu Gerrit Brink 2016-12-21 14:58:31

il n'y a pas nécessairement de ligne de démarcation claire. De nos jours, de nombreux programmes combinent des éléments de requêtes http serving (serveur web) et de gestion de la logique métier (serveur app)

2
répondu Peter Recore 2009-10-31 15:12:24

en fait Apache est un serveur web et Tomcat est un serveur d'application. Quand la requête HTTP arrive au serveur web. Ensuite, le contenu statique renvoie au navigateur par le serveur web. Est-ce qu'il y a une logique à faire, puis cette requête envoyer au serveur d'application. après le traitement de la logique puis réponse envoyer au serveur web et envoyer au client.

2
répondu Amila 2012-02-16 05:52:48

bien qu'il puisse y avoir des chevauchements entre les deux (certains serveurs web peuvent même être utilisés comme serveurs d'applications) la plus grande différence IMHO est dans le modèle de traitement et la gestion de session:

dans le modèle de traitement de serveur Web, l'accent est mis sur le traitement des requêtes; la notion de" session " est à peu près virtuelle. C'est-à-dire que la "session" est simulée en transférant la représentation de l'état entre le client et le serveur (donc le reste) et/ou en la sérialisant à un stockage externe persistant (serveur SQL, Memcached etc).

dans Application server la session est généralement plus explicite et prend souvent la forme d'un objet vivant en mémoire du serveur d'application pendant toute la durée de la"session".

1
répondu zvolkov 2009-10-31 15:17:07

de https://en.wikipedia.org/wiki/Web_server

A serveur web est un système informatique qui traite les requêtes via HTTP, le protocole réseau de base utilisé pour distribuer l'information sur le World Wide Web. Le terme peut renvoyer à l'ensemble du système, ou spécifiquement au logiciel qui accepte et supervise les requêtes HTTP .

de https://en.wikipedia.org/wiki/Application_server#Application_Server_definition

un serveur d'application tourne derrière un serveur web (par exemple Apache ou Microsoft Internet Information Services (IIS)) et (presque toujours) devant une base de données SQL (par exemple PostgreSQL, MySQL ou Oracle).

applications Web sont des codes informatiques qui exécutent des serveurs d'applications atop et sont écrits dans la langue(s) le serveur d'application prend en charge et appelle les bibliothèques d'exécution et les composants le le serveur d'application offre .

1
répondu Manohar Reddy Poreddy 2018-02-20 05:37:29

Application server et Web server sont tous deux utilisés pour héberger des applications web. Serveur Web est affaire avec le conteneur web sur le serveur D'Application d'autre part est affaire avec le conteneur web ainsi que EJB (Enterprise JavaBean) ou com + conteneur pour Microsoft dot Net.

serveur Web est conçu pour servir des contenus statiques HTTP comme HTML, images, etc. et pour le contenu dynamique ont plugins pour soutenir les langues de script comme Perl, PHP, ASP, JSP etc et il est limité pour le protocole HTTP. Les serveurs ci-dessous peuvent générer du contenu HTTP dynamique.

environnement de programmation du serveur Web:

IIS: ASP (.NET)

Apache Tomcat: Servlet

Jetty: Servlet

Apache: Php, CGI

le serveur D'Application peut faire tout ce que le serveur Web est capable et écoute en utilisant n'importe quel protocole aussi bien que le serveur D'application ont des composants et les fonctions pour soutenir les services au niveau de L'Application tels que la mise en commun de connexion, la mise en commun D'objet, le soutien de Transaction, les services de messagerie, etc.

environnement de programmation du serveur D'Application:

MTS: COM+

WAS: EJB

JBoss: EJB

Serveur d'Application WebLogic: EJB

1
répondu Bablu Ahmed 2018-08-04 20:11:13

Cela dépend de l'architecture spécifique. Certains serveurs d'applications peuvent utiliser des protocoles web nativement (XML/RPC/SOAP sur HTTP), il y a donc peu de différence technique. En général, un serveur web est orienté vers L'utilisateur, servant une variété de contenu sur HTTP/HTTPS, tandis qu'un serveur d'application n'est pas orienté vers l'utilisateur et peut utiliser des protocoles non standard ou non routables. Bien sûr, avec RIA / AJAX, la différence pourrait être encore plus obscurcie, ne servant que le contenu non-HTML (JSON / XML) aux clients pompant particulier services d'accès à distance.

0
répondu Cade Roux 2009-11-01 13:57:22

d'une part, un serveur Web sert des contenus web (HTML et statiques) sur le protocole HTTP. D'un autre côté, un serveur d'application est un conteneur sur lequel vous pouvez construire et exposer la logique et les processus d'affaires aux applications du client à travers divers protocoles, y compris HTTP dans une architecture n-tier.

un serveur d'application offre donc beaucoup plus de services qu'un serveur web qui comprend typiquement:

  • A (propriétaire ou non) API
  • gestion du cycle de vie des objets,
  • la gestion de l'État (session),
  • la gestion des Ressources (par exemple, les pools de connexions de base de données),
  • Load balancing, fail over
0
répondu rahul 2012-10-04 11:02:28

serveur d'Application et le serveur web en Java les deux sont utilisés pour héberger des applications web Java. Sur Java J2EE perspective la principale différence entre le serveur web et le serveur d'application est le support D'EJB. Afin d'exécuter EJB ou l'application d'entreprise D'accueil Java (.ear) vous avez besoin d'un serveur d'application comme JBoss, WebLogic, WebSphere ou Glassfish, alors que vous pouvez toujours exécuter votre servlet et JSP ou java web application (.war) à l'intérieur de n'importe quel serveur Web comme Tomcat ou Jetty. Serveur D'Application prend en charge la transaction distribuée et EJB. Tandis que le serveur Web ne supporte que les Servlets et JSP. En termes de différence logique entre le serveur web et le serveur d'application. le serveur web est censé fournir un service au niveau du protocole http tandis que le serveur d'application fournit un soutien au service web et expose le service au niveau de l'entreprise, par exemple EJB.

serveur D'Application sont plus lourds que le serveur web en termes d'utilisation des ressources.

0
répondu Raji 2014-03-20 23:58:26

IMO, il s'agit surtout de séparer les préoccupations.

d'un point de vue purement technique, vous pouvez tout faire (contenu web + logique d'affaires) dans un seul serveur web. Si vous faites cela, alors l'information serait intégrée à l'intérieur du contenu HTML demandé. Quel serait l'impact?

par exemple, imaginez que vous ayez 2 applications différentes qui rendent un contenu HTML entièrement différent sur le navigateur. Si vous voulez séparer la logique métier dans un app-server que vous pourriez fournir différents serveurs web recherchant les mêmes données dans l'app-server via des scripts. Cependant, si vous ne séparez pas la logique et la Conservez dans le serveur web, chaque fois que vous changez votre modèle d'affaires, vous finirez par la changer dans chaque serveur web que vous avez qui prendrait plus de temps, serait moins fiable et sujet à des erreurs.

0
répondu zgulser 2018-05-13 12:12:23