Servidor web

Internet y páginas web

Es la aplicación instalada en un servidor (máquina, ordenador) encargada de devolver la información (páginas web y su contenido) ante las peticiones recibidas por parte de los usuarios y otras aplicaciones.

Cuando un usuario ingresa una URL en su navegador, el servidor web en el que está alojada la página recoge esa petición, la procesa y devuelve al navegador del usuario el contenido solicitado (y todos los recursos incluidos en la página que estén ubicados en el servidor).

La comunicación entre el servidor y el navegador del usuario (cliente) se realiza generalmente mediante el protocolo HTTP o HTTPS.

Los servidores web funcionan principalmente sobre sistemas operativos basados Unix/Linux o Windows. Las aplicaciones y sitios web en producción suelen decantarse mayormente por servidores Unix/Linux, cuya estabilidad y rendimiento están fuera de toda duda.

De entre todos los servidores web que podemos encontrar, los principales y más utilizados son los siguientes:

  • Apache: servidor web de código abierto, disponible para Unix/Linux, Windows y Mac Os X. Ha sido el servidor web de referencia durante muchos años.
  • Nginx: software que puede actuar tanto de servidor web como de proxy. Al igual que Apache, es de código abierto y se encuentra disponible para Unix/Linux, Windows, Mac OS X.
  • IIS (Internet Information Services): servidor web para Windows desarrollado por Microsoft.
  • LiteSpeed: servidor web en auge, compatible con Apache y con rendimiento superior a este. Es un software propietario y de pago.
  • Otros: Node.js, Tomcat, lighttpd…

LiteSpeed es de los más recientes y poco a poco se está haciendo un hueco en el mercado, sobre todo en el sector de los pequeños hostings optimizados para WordPress.

Los más empleados siguen siendo Apache y Nginx. De hecho, puesto que Apache es robusto y fiable pero tiene un rendimiento inferior a otros servidores web, es habitual encontrarse hoy en día con una combinación Nginx/Apache.

En este modo combinado de funcionamiento Nginx se encarga de proporcionar los ficheros y documentos estáticos de una página o aplicación web, dejando a Apache la interpretación, ejecución y devolución de las páginas que deben ser procesadas con algún lenguaje de servidor (como PHP, ASP, etc.).