O que é um servidor de aplicações vs. um servidor da web?

Apesar do contraste implícito entre “servidor de aplicativos e servidor web”, na Internet os dois tipos de servidor geralmente são implantados juntos para um propósito comum: atender às solicitações dos usuários por conteúdo de um site. Não há documentos de padrões que definam as propriedades de servidores web e servidores de aplicativos, mas vamos ver como os termos são comumente compreendidos.

A função fundamental de um servidor web é aceitar e atender solicitações de clientes para conteúdo estático de um site (páginas HTML, arquivos, imagens, vídeos e assim por diante). O cliente é quase sempre um navegador ou aplicativo móvel e a solicitação assume a forma de uma mensagem HTTP (Hypertext Transfer Protocol), assim como a resposta do servidor web.

A função fundamental de um servidor de aplicativos é fornecer aos seus clientes acesso ao que é comumente chamado de lógica de negócios , que gera conteúdo dinâmico; ou seja, é o código que transforma dados para fornecer a funcionalidade especializada oferecida por um negócio, serviço ou aplicativo. Os clientes de um servidor de aplicativos geralmente são os próprios aplicativos e podem incluir servidores web e outros servidores de aplicativos. A comunicação entre o servidor de aplicativos e seus clientes pode assumir a forma de mensagens HTTP, mas isso não é necessário, pois é necessário para a comunicação entre servidores web e seus clientes. Muitos outros protocolos são populares, incluindo as variantes de CGI.

Como servidores de aplicações e servidores da web funcionam juntos?

Em uma implantação típica, um site que fornece conteúdo estático e gerado dinamicamente executa servidores web para o conteúdo estático e servidores de aplicativos para gerar conteúdo dinamicamente. Um proxy reverso e um balanceador de carga ficam na frente de um ou mais servidores web e um ou mais servidores de aplicativos web para rotear o tráfego para o servidor apropriado, primeiro com base no tipo de conteúdo solicitado e depois com base no algoritmo de balanceamento de carga configurado. A maioria dos programas balanceadores de carga também são servidores proxy reversos, o que simplifica a arquitetura do servidor de aplicativos web.

Por que a pergunta?

Por que é uma questão se algo é um servidor de aplicativos ou um servidor web? Isso se deve em grande parte à forma como o design e o uso dos dois tipos de servidores têm se sobreposto cada vez mais à medida que as demandas sobre os sites aumentam. Muitos aplicativos populares atuam como servidores web e servidores de aplicativos (pense em Apache HTTP Server, Express, Hapi e Koa).

Outra sobreposição é que alguns servidores de aplicativos da web usam HTTP como protocolo de comunicação. Da mesma forma, alguns servidores web acabam parecendo servidores de aplicativos porque têm módulos e funcionalidades integrados que oferecem suporte nativo a linguagens populares como PHP ou proxy e traduzem solicitações de HTTP para o protocolo (como FastCGI) usado pelo aplicativo.

Como o NGINX Plus pode ajudar?

NGINX Plus e NGINX são as melhores soluções de balanceamento de carga usadas por sites de alto tráfego, como Dropbox, Netflix e Zynga. Mais de 350 milhões de sites no mundo todo contam com o NGINX Plus e o NGINX Open Source para entregar seu conteúdo de forma rápida, confiável e segura.

O NGINX Plus é um proxy reverso e balanceador de carga extremamente eficiente quando implantado na frente de servidores web e de aplicativos, com módulos de tradução para vários tipos de servidores de aplicativos, incluindo FastCGI e SCGI. O NGINX Plus combina várias funções – incluindo web serving , balanceamento de carga avançado , cache , gerenciamento e monitoramento e roteamento de solicitações – tudo em uma solução flexível e econômica para entregar conteúdo estático e dinâmico de forma rápida e confiável, o que aumenta a satisfação do cliente e a receita. É a plataforma completa de entrega de aplicativos essencial para os sites de alto desempenho de hoje.