Quelle est la différence entre un serveur d’applications et un serveur Web ?

Malgré le contraste impliqué par « serveur d’applications et serveur Web », sur Internet, les deux types de serveurs sont généralement déployés ensemble dans un but commun : répondre aux demandes des utilisateurs concernant le contenu d’un site Web. Il n’existe pas de documents normatifs définissant les propriétés des serveurs Web et des serveurs d’applications, mais examinons comment ces termes sont généralement compris.

La tâche fondamentale d'un serveur Web est d'accepter et de répondre aux demandes des clients pour le contenu statique d'un site Web (pages HTML, fichiers, images, vidéos, etc.). Le client est presque toujours un navigateur ou une application mobile et la requête prend la forme d'un message HTTP (Hypertext Transfer Protocol), tout comme la réponse du serveur Web.

La tâche fondamentale d'un serveur d'applications est de fournir à ses clients un accès à ce que l'on appelle communément la logique métier , qui génère du contenu dynamique ; c'est-à-dire du code qui transforme les données pour fournir les fonctionnalités spécialisées offertes par une entreprise, un service ou une application. Les clients d'un serveur d'applications sont souvent eux-mêmes des applications et peuvent inclure des serveurs Web et d'autres serveurs d'applications. La communication entre le serveur d'applications et ses clients peut prendre la forme de messages HTTP, mais cela n'est pas nécessaire comme pour la communication entre les serveurs Web et leurs clients. De nombreux autres protocoles sont populaires, y compris les variantes de CGI.

Comment les serveurs d'applications et les serveurs Web fonctionnent-ils ensemble ?

Dans un déploiement typique, un site Web qui fournit du contenu statique et généré dynamiquement exécute des serveurs Web pour le contenu statique et des serveurs d'applications pour générer du contenu de manière dynamique. Un proxy inverse et un équilibreur de charge se trouvent devant un ou plusieurs serveurs Web et un ou plusieurs serveurs d'applications Web pour acheminer le trafic vers le serveur approprié, d'abord en fonction du type de contenu demandé, puis en fonction de l'algorithme d'équilibrage de charge configuré. La plupart des programmes d’équilibrage de charge sont également des serveurs proxy inverses, ce qui simplifie l’architecture du serveur d’applications Web.

Pourquoi la question ?

Pourquoi est-ce une question de savoir si quelque chose est un serveur d’application ou un serveur Web ? Cela est en grande partie dû à la façon dont la conception et l’utilisation des deux types de serveurs se chevauchent de plus en plus à mesure que les exigences imposées aux sites Web augmentent. De nombreuses applications populaires agissent à la fois comme serveurs Web et serveurs d'applications (pensez à Apache HTTP Server, Express, Hapi et Koa).

Un autre chevauchement est que certains serveurs d’applications Web utilisent HTTP comme protocole de communication. De même, certains serveurs Web finissent par ressembler à des serveurs d'applications car ils disposent de modules et de fonctionnalités intégrés qui prennent en charge nativement des langages populaires comme PHP, ou qui proxy et traduisent les requêtes HTTP dans le protocole (tel que FastCGI) utilisé par l'application.

Comment NGINX Plus peut-il vous aider ?

NGINX Plus et NGINX sont les meilleures solutions d’équilibrage de charge utilisées par les sites Web à fort trafic tels que Dropbox, Netflix et Zynga. Plus de 350 millions de sites Web dans le monde s'appuient sur NGINX Plus et NGINX Open Source pour diffuser leur contenu rapidement, de manière fiable et sécurisée.

NGINX Plus est un proxy inverse et un équilibreur de charge extrêmement efficace lorsqu'il est déployé devant des serveurs Web et d'applications, avec des modules de traduction pour plusieurs types de serveurs d'applications, notamment FastCGI et SCGI. NGINX Plus combine plusieurs fonctions, notamment le service Web , l'équilibrage de charge avancé , la mise en cache , la gestion et la surveillance , et le routage des requêtes, le tout dans une solution flexible et économique pour fournir du contenu statique et dynamique de manière rapide et fiable, ce qui augmente la satisfaction client et les revenus. Il s'agit de la plate-forme complète de diffusion d'applications essentielle pour les sites Web hautes performances d'aujourd'hui.