Por definición estricta, un servidor web es un subconjunto común de un servidor de aplicaciones.
Un servidor web ofrece contenido web estático, por ejemplo, páginas HTML, archivos, imágenes y video, principalmente en respuesta a solicitudes de protocolo de transferencia de hipertexto (HTTP) de un navegador web.
Un servidor de aplicaciones puede entregar contenido web también, pero su trabajo principal es permitir la interacción entre los clientes de los usuarios y el código de la aplicación del lado del servidor, el código que representa lo que a menudo se denomina lógica de negocios, para generar y entregar contenido dinámico, como resultados de transacciones, soporte de decisiones o análisis en tiempo real.
El cliente de un servidor de aplicaciones puede ser la propia interfaz de usuario (IU) de la aplicación, un navegador web o una aplicación móvil, y la interacción cliente-servidor se puede realizar a través de cualquier número de protocolos de comunicación. Sin embargo, en la práctica, la línea divisoria entre servidores web y servidores de aplicaciones se volvió más difusa, en especial, a medida que el navegador web se convirtió en el cliente de aplicaciones preferido y aumentaron las expectativas de los usuarios respecto de las aplicaciones web y el rendimiento de las mismas.
La mayoría de los servidores web admiten complementos para lenguajes de scripting (por ejemplo, ASP, JSP, PHP, Perl) que permiten que el servidor web genere 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 los servidores web.
También permiten que las aplicaciones web utilicen servicios, como proxy inverso, agrupación en clústeres, redundancia y equilibrio de carga, servicios que mejoran el rendimiento y la confiabilidad y permiten a los desarrolladores centrarse menos en la infraestructura y más en la programació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 conclusión, los servidores web y los servidores de aplicaciones más populares de hoy en día son híbridos de ambos. La mayoría de las aplicaciones cada vez más completas que se emplean hoy en día cuentan con una combinación de contenido web estático y contenido de aplicación dinámico, que se proporciona a través de una combinación de tecnologías de servidor web y servidor de aplicaciones.
El mercado está inundado de servidores sitio web y servidores de aplicaciones, demasiados para enumerarlos aquí. En su lugar, pensamos que podría ser más valioso enumerar las opciones gratis 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. Las versiones comerciales compatibles de Nginx también están disponibles en Nginx, Inc.
Según la empresa de investigación en Internet y prevención del delito cibernético Netcraft, Nginx servía o representaba a casi el 38 % de todos los sitios web del mundo y más del 25% de los millones de sitios más concurridos a diciembre de 2019. Entre los usuarios empresariales de Nginx más conocidos a nivel mundial se incluyen Dropbox, Netflix y Zynga.
Lanzado por primera vez en 1995, Apache HTTP Server (también conocido como "Apache") es otro popular servidor web gratis y de código abierto que, hasta hace poco, alimentaba más sitios web que cualquier otro servidor sitio web, un 71 % en su punto máximo, antes de ser superado por Nginx en abril de 2019. A diciembre de 2019, Apache brinda a más del 24 % de todos los sitios en todo el mundo y al 31 % del millón de sitios más concurridos.
Apache Tomcat es un servidor de aplicaciones de código abierto que ejecuta Java Servlets, representa y entrega páginas web que incluyen código JavaServer Page 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 en 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 sitio web, proporcionando contenido sitio web en respuesta a solicitudes HTTP.
IBM Cloud Infrastructure Center es una plataforma de software compatible con OpenStack para gestionar la infraestructura de nubes privadas en IBM zSystems e IBM LinuxONE.
Descubra los servidores, el almacenamiento y el software diseñados para la nube híbrida y su estrategia de IA.
Encuentre una solución de infraestructura en la nube que sea adecuada para las necesidades de su negocio y escale los recursos bajo demanda.