Comparación entre un servidor web y un servidor de aplicaciones

A pesar del contraste que implica «servidor de aplicaciones frente a servidor web», en Internet ambos tipos de servidores suelen implementarse juntos con un objetivo común: satisfacer las peticiones de contenidos de un sitio web por parte de los usuarios. No existen documentos normativos que definan las propiedades de los servidores web y los servidores de aplicaciones, pero veamos cómo se entienden comúnmente estos términos.

El trabajo fundamental de un servidor web es aceptar y satisfacer las peticiones de los clientes de contenidos estáticos de un sitio web (páginas HTML, archivos, imágenes, vídeo, etc.). El cliente es casi siempre un navegador o una aplicación móvil y la petición adopta la forma de un mensaje de Hypertext Transfer Protocol (HTTP), al igual que la respuesta del servidor web.

El trabajo fundamental de un servidor de aplicaciones es proporcionar a sus clientes acceso a lo que comúnmente se denomina lógica de negocio, que genera contenido dinámico; es decir, se trata de código que transforma los datos para proporcionar la funcionalidad especializada que ofrece un negocio, servicio o aplicación. Los clientes de un servidor de aplicaciones suelen ser las propias aplicaciones, y pueden incluir servidores web y otros servidores de aplicaciones. La comunicación entre el servidor de aplicaciones y sus clientes puede adoptar la forma de mensajes HTTP, pero no es tan necesaria como para la comunicación entre los servidores web y sus clientes. Son populares muchos otros protocolos, incluidas las variantes de CGI.

¿Cómo colaboran los servidores de aplicaciones y los servidores web?

En una estructura típica, un sitio web que ofrece contenidos tanto estáticos como generados dinámicamente ejecuta servidores web para los contenidos estáticos y servidores de aplicaciones para generar contenidos dinámicamente. Un proxy inverso y un equilibrador de carga se sitúan delante de uno o varios servidores web y uno o varios servidores de aplicaciones web para dirigir el tráfico al servidor adecuado, primero en función del tipo de contenido solicitado y después en función del algoritmo de equilibrio de carga configurado. La mayoría de los programas equilibradores de carga son también servidores proxy inversos, lo que simplifica la arquitectura de los servidores de aplicaciones web.

Entonces, ¿por qué se cuestiona?

La cuestión de si algo es un servidor de aplicaciones o un servidor web se plantea debido a que el diseño y el uso de ambos tipos de servidores se han ido solapando cada vez más a medida que crecía la demanda de sitios web. Muchas aplicaciones populares actúan tanto como servidores web como servidores de aplicaciones (por ejemplo, Apache HTTP Server, Express, Hapi y Koa).

Otro solapamiento es que algunos servidores de aplicaciones web utilizan HTTP como protocolo de comunicación. De manera similar, algunos servidores web terminan pareciendo servidores de aplicaciones porque incluyen módulos y funcionalidades que soportan de forma nativa lenguajes populares como PHP, o actúan como proxies que traducen las peticiones de HTTP al protocolo (como FastCGI) utilizado por la aplicación.

¿Cómo puede ayudar NGINX Plus?

NGINX Plus y NGINX son las mejores soluciones de equilibrio de carga de su clase utilizadas por sitios web de alto tráfico como Dropbox, Netflix y Zynga. Más de 350 millones de sitios web de todo el mundo confían en NGINX Plus y NGINX Open Source para ofrecer sus contenidos de forma rápida, fiable y segura.

NGINX Plus es un proxy inverso y un equilibrador de carga extremadamente eficaz cuando se implementa delante de servidores web y de aplicaciones, con módulos de traducción para varios tipos de servidores de aplicaciones, incluidos FastCGI y SCGI. NGINX Plus combina múltiples funciones, como servicio web, equilibrio de carga avanzado, almacenamiento en caché, gestión y supervisión, y enrutamiento de solicitudes, todo en una solución flexible y rentable para entregar contenidos estáticos y dinámicos de forma rápida y fiable que aumenta la satisfacción del cliente y los ingresos. Es la plataforma completa de entrega de aplicaciones esencial para los sitios web de alto rendimiento de hoy en día.