Por definición estricta, un servidor web es un subconjunto común de un servidor de aplicaciones.
Un servidor web entrega contenido web estático, por ejemplo, páginas HTML, archivos, imágenes, vídeo, principalmente en respuesta a solicitudes de protocolo de transferencia de hipertexto (HTTP) desde un navegador web.
Por lo general, un servidor de aplicaciones también puede ofrecer contenidos web, pero su función principal es permitir la interacción entre los clientes usuarios y el código de la aplicación del lado del servidor, el código que representa lo que suele denominarse lógica empresarial, para generar y ofrecer contenidos dinámicos, como resultados de transacciones, apoyo a la toma de decisiones o análisis en tiempo real.
El cliente de un servidor de aplicaciones puede ser la propia IU de la aplicación, un navegador web o una aplicación móvil, y la interacción cliente-servidor puede producirse a través de cualquier número de protocolos de comunicación. Sin embargo, en la práctica, la línea entre los servidores web y los servidores de aplicaciones se ha vuelto más difusa, especialmente a medida que el navegador web se ha convertido en el cliente de aplicaciones preferido y a medida que han crecido las expectativas de los usuarios sobre las aplicaciones web y el rendimiento de las aplicaciones web.
La mayoría de los servidores web admiten complementos para lenguajes de scripting (por ejemplo, ASP, JSP, PHP, Perl) que permiten al servidor web generar contenido dinámico basado en la lógica del lado del servidor. Un número cada vez mayor de servidores de aplicaciones no solo incorporan capacidades de servidor web, sino que utilizan HTTP como protocolo principal y admiten otros protocolos (por ejemplo, CGI y variantes de CGI) para interactuar con servidores web.
También permiten que las aplicaciones web utilicen servicios como proxy inverso, agrupamiento, redundancia y equilibrio de carga, servicios que mejoran el rendimiento y la fiabilidad y permiten a los desarrolladores centrarse menos en la infraestructura y más en la codificación. Para hacer las cosas más confusas, muchos servidores web y algunos servidores de aplicaciones se denominan, o se refieren a sí mismos, como servidores de aplicaciones web.
En resumidas cuentas, los servidores web y de aplicaciones más populares hoy en día son un híbrido de ambos. La mayoría de las aplicaciones cada vez más completas que se utilizan hoy en día cuentan con una combinación de contenido web estático y contenido de aplicación dinámico, entregado a través de una combinación de tecnologías de servidor web y servidor de aplicaciones.
El mercado está inundado de servidores web y servidores de aplicaciones, demasiados para enumerarlos aquí. En cambio, pensamos que podría ser más valioso enumerar las opciones gratuitas y de código abierto más populares disponibles:
Nginx es un servidor web de código abierto que incluye capacidades de proxy inverso, equilibrio de carga, proxy de correo y caché HTTP. También hay disponibles versiones comerciales y compatibles de Nginx, en Nginx, Inc.
Según la empresa de investigación de Internet y prevención de ciberdelitos Netcraft, Nginx sirvió o actuó como proxy de casi el 38 % de todos los sitios web del mundo y más del 25 % del millón de sitios más concurridos en diciembre de 2019. Entre los usuarios empresariales de Nginx más conocidos a nivel mundial se incluyen Dropbox, Netflix y Zynga.
Publicado por primera vez en 1995, el servidor HTTP Server (también conocido como "Apache") es otro famoso servidor web gratuito y de código abierto que, hasta hace poco, alimentaba más sitios web que ningún otro servidor web (un 71 % en su apogeo) antes de ser superado por Nginx en abril de 2019. En diciembre de 2019, Apache operaba más del 24 % de todos los sitios del mundo y el 31 % del millón de sitios más transitados.
Apache Tomcat es un servidor de aplicaciones de código abierto que Java Servlets, procesa y entrega páginas web que incluyen código de página de JavaServer y sirve aplicaciones Java Enterprise Edition (Java EE). Lanzado en 1998, Tomcat es el servidor de aplicaciones Java de código abierto más utilizado.
Glassfish es un servidor de aplicaciones Java EE de código abierto lanzado por Sun Microsystems en 2006 y actualmente está alojado por la Eclipse Foundation. Como la mayoría de los servidores de aplicaciones Java, Glassfish admite Java Servlets, Enterprise JavaBeans (EJB) y más, pero también puede funcionar como un servidor web, proporcionando contenido web en respuesta a solicitudes HTTP.
IBM Cloud Infrastructure Center es una plataforma de software compatible con OpenStack para gestionar la infraestructura de las nubes privadas en IBM zSystems e IBM LinuxONE.
Descubra servidores, almacenamiento y software diseñados para su estrategia empresarial de nube híbrida e IA.
Encuentre la solución de infraestructura en la nube adecuada para las necesidades de su empresa y escale los recursos según la demanda.