Quelle est la différence entre le serveur d'applications et le serveur Web?
Réponses
Trop de publicités?La plupart du temps ces termes Serveur Web et le serveur d'Application sont utilisés de façon interchangeable.
Voici certaines des principales différences dans les fonctions de Serveur Web et le Serveur d'Application:
- Le Serveur Web est conçu pour servir de Contenu HTTP. Serveur d'application peut également servir de l'adresse HTTP du Contenu, mais n'est pas limité à HTTP. Il peut être prévu d'autres protocoles, comme le RMI/RPC
- Le Serveur Web est principalement conçu pour servir du contenu statique, bien que la plupart des Serveurs Web plugins pour prendre en charge les langages de script comme Perl, PHP, ASP, JSP, etc. grâce à ces serveurs peuvent générer dynamiquement du contenu HTTP.
- La plupart des serveurs d'applications Web Server en tant que partie intégrante d'entre eux, cela signifie que Serveur d'Application peut en faire ce Serveur Web est capable de faire. En outre Serveur d'Application ont des composants et des fonctions de Demande d'aide au niveau des services tels que le Regroupement de Connexion, le pool d'Objet, Opération de Soutien, services de Messagerie, etc.
- En tant que serveurs web sont bien adaptés pour le contenu statique et de l'application des serveurs de contenu dynamique, la plupart des environnements de production web server comme serveur proxy inverse pour l'application serveur. Cela signifie que lors de l'entretien d'une demande de page, contenu statique (images/HTML Statique) sont servis par le serveur web qui interprète la demande. En utilisant une sorte de technique de filtrage (surtout l'extension de la ressource demandée) serveur web identifie le contenu dynamique de la demande et de manière transparente vers l'avant pour serveur d'application
Exemple de configuration d'Apache Tomcat HTTP Server et Oracle (anciennement BEA) WebLogic Server. Apache Tomcat Serveur HTTP Web Server et Oracle WebLogic est le Serveur d'Application.
Dans certains cas, les serveurs sont étroitement intégrés, tels que IIS et .NET Runtime. IIS web server. Lorsqu'ils sont équipés .NET runtime environment, IIS est capable de fournir des services d'application.
C'est une réponse détaillée avec certains scénarios de comprendre clairement la différence,la ressemblance et comment les deux peuvent travailler de concert et de toutes les
Serveur d'Application est un terme qui est parfois mélangé avec un serveur web. Alors qu'un serveur web traite principalement des protocoles HTTP, le serveur d'application des contrats avec plusieurs protocoles différents, y compris, mais non limité, à l'adresse HTTP.
Le serveur Web principal travail consiste à afficher le contenu du site et le serveur d'application est en charge de la logique, de l'interaction entre l'utilisateur et le contenu affiché. Le serveur d'application est de travailler en conjonction avec le serveur web, où l'on affiche et de l'autre on interagit.
L'information voyage de retour et vient entre le serveur et le client n'est pas limité à la simple affichage de balisage, mais de l'interaction entre les deux.
Dans la plupart des cas, le serveur crée cette interaction par le biais d'une API du composant, telles que J2EE (Java 2 Platform), EJB (Enterprise JavaBean) et de différents logiciels d'application des modèles.
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 par rapport à un scénario où il n'y a pas un serveur d'application est par le biais d'une boutique en ligne.
Scénario 1: un serveur Web sans un serveur d'application
vous avez une boutique en ligne avec seulement un serveur web et pas de serveur d'application. Le site fournit un écran où vous pouvez choisir un produit de. Lorsque vous soumettez une requête, le site effectue une recherche et renvoie un code HTML résultats de son client. Le serveur web envoie à votre requête directement au serveur de base de données (être patient, je vais vous expliquer ce un dans notre prochaine pépite) et attend une réponse. Une fois reçu, le serveur web formule de la réponse dans un fichier HTML et l'envoie à votre navigateur web. Cet aller-retour, la communication entre le serveur et le serveur de base de données qui se passe à chaque fois qu'une requête est exécutée.
Scénario 2: serveur Web avec un serveur d'application
si la requête que vous souhaitez exécuter a déjà été fait auparavant et aucune donnée n'a changé depuis, le serveur va générer les résultats sans avoir à envoyer la requête au serveur de base de données. Cela permet en temps réel de la requête, où une deuxième client peut accéder à la même info et de recevoir en temps réel des informations fiables et sans l'envoi d'une autre dupliquer une requête vers le serveur de 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 pour être réutilisables alors que dans le premier scénario, car cette info est incorporé dans un particulier et "sur mesure" de la page HTML, ce n'est pas réutilisable processus. Un deuxième client devra demander l'info de nouveau et de recevoir un autre code HTML intégré à la page avec les infos demandées-très inefficace. Pour ne pas mentionner 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 de ressources.
À l'appui de cette variété de tâches complexes, ce serveur doit avoir une redondance intégrée, une grande puissance de traitement et la quantité de RAM pour gérer toutes les données qu'il tire en temps réel.
Espérons que cette aide.
Les deux termes sont très génériques, l'un de l'autre et vice-versa, dans certains cas.
Serveur Web: sert de contenu pour le web en utilisant le protocole http.
Serveur d'Application: les hôtes 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.
Comme Rutesh et jmservera souligné, la distinction est floue. Historiquement, ils étaient différents, mais à travers les années 90, ces deux précédemment catégories distinctes mixte caractéristiques et effectivement fusionné. À ce point est probablement préférable d'imaginer que le "Serveur d'Application" de la catégorie de produit est un sur-ensemble strict de la "web server".
Un peu d'histoire. Dans les premiers jours de la Mosaïque du navigateur et hyperliens du contenu, il y a évolué de cette chose qu'on appelle un "serveur web" qui ont servi le contenu des pages web et des images sur HTTP. La plupart du contenu est statique, et le protocole HTTP 1.0 était juste une façon d'expédier des fichiers. Rapidement le "serveur web" à la catégorie a évolué pour inclure CGI capacités en effet le lancement d'un processus à chaque requête web pour générer du contenu dynamique. HTTP aussi mûri et les produits sont devenus plus sophistiqués, avec la mise en cache, la sécurité et les fonctionnalités de gestion. Comme la technologie a mûri, nous avons spécifique à la société Java côté serveur de la technologie de Kiva et NetDynamics, qui a finalement fusionné en JSP. Microsoft a ajouté ASP, je pense que, en 1996, pour Windows NT 4.0. La statique du serveur web avait appris quelques nouveaux trucs, de sorte qu'il était un "serveur d'application" pour de nombreux scénarios.
En parallèle, la catégorie, le serveur d'application a évolué et a existé pendant une longue période. les sociétés de produits livrés pour Unix comme un Smoking, TopEnd, Encina qui ont été philosophiquement dérivée de l'application d'une unité centrale de gestion et de surveillance des environnements tels que IMS et CICS. Microsoft s offre a été de Microsoft Transaction Server (MTS), qui a ensuite évolué dans COM+. La plupart de ces produits spécifiés "fermé" produit spécifique à la communication des protocoles à l'interconnexion des "gros" clients vers les serveurs. (Pour la Encina, les comms protocole a été DCE RPC; de MTS, il a été DCOM, etc). En 1995/96, ces traditionnels serveur d'application des produits a commencé à intégrer HTTP de base de la capacité de communication, au début, par des passerelles. Et les lignes ont commencé à s'estomper.
Serveurs Web suis de plus en plus matures en matière de manipulation des charges plus importantes, plus la concurrence, et de meilleures fonctionnalités. App serveurs livrés de plus en plus et HTTP capacité de communication.
À ce point, la ligne entre le "serveur d'application" et "serveur web" 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 centrées sur l'INTERFACE web, orienté vers les applications. Quand quelqu'un dit "serveur d'Application", vous pouvez penser "des charges plus lourdes, les fonctionnalités d'entreprise, les transactions et les files d'attente, multi-canal de communication (HTTP + en savoir plus). Mais souvent c'est le même produit qui sert à la fois des ensembles de charge de travail.
- WebSphere d'IBM "serveur d'application" a son propre serveur web en bundle.
- WebLogic, traditionnellement un autre serveur d'application, de la même manière.
- Windows, Microsoft, qui est le Serveur d'Application (en plus d'être son Fichier Et Serveur d'Impression, Serveur Multimédia, etc.), bundles IIS.
Comme beaucoup l'ont dit avant, serveurs web poignée HTTP pétitions, tandis que les serveurs d'application poignée de pétitions pour les composants distribués. Alors, peut-être la façon la plus facile 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
Jetée : Servlet
Apache : Php, CGI
Les Serveurs D'Applications -> Environnement De Programmation
MTS : COM+
A : EJB
JBoss : EJB
Serveur d'Application WebLogic : EJB
La différence essentielle est que les serveurs d'applications de soutien de certains composants distribués de la technologie, en proposant des fonctionnalités comme l'invocation distante et les transactions distribuées, comme les EJB dans le monde Java ou COM+ sur la plateforme de Microsoft. Serveur Http souvent l'appui de certaines de plus simple, les environnements de programmation, souvent de script, comme ASP (.NET) dans le cas de Microsoft ou de Servlet--, y compris dans les JSP et de nombreux autres dans le cas de Java ou PHP et CGI en cas de Apache.
D'autres fonctionnalités telles que l'équilibrage de charge, le clustering, à la session de basculement, le regroupement de connexion, 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, qui souvent compléter les fins de l'application des serveurs dans plus de manière simple et sans l'infrastructure de serveur d'applications. Et puisque la distribution aspect dans les applications est en mouvement à partir de composants distribués vers le service de paradigme et d'une architecture SOA, il est de moins en moins d'espace à gauche pour traditionnels des serveurs d'applications.