Servidores web open source. 4 opciones para todos los gustos
En un artículo anterior hablamos de por qué Linux es la mejor opción para operar un alojamiento web. Ahora vamos a ver algunas opciones de código abierto para servidores web.
El término “servidor web se refiere tanto al hardware como al software.
Desde el punto de vista del hardware, un servidor web es una computadora que almacena el software del servidor web y los archivos componentes de un sitio web (por ejemplo, documentos HTML, imágenes, hojas de estilo CSS y archivos JavaScript). Está conectado a Internet y soporta el intercambio de datos físicos con otros dispositivos conectados a la web. En el caso del software, un servidor web incluye varios componentes que controlan la forma en que los usuarios de la web acceden a los archivos alojados.
El componente principal de un servidor web es un servidor HTTP. Se trata de un programa informático que comprende las URL (direcciones web) y el soporte para HTTP (el protocolo que los navegadores utilizan para acceder a las páginas web). El acceso a los recursos de un servidor se hace escribiendo un nombre de dominio o una dirección IP en la barra del navegador.
El mecanismo básico de funcionamiento es el siguiente. Siempre que un usuario quiere ver una página que está alojada en un servidor web, el navegador solicita la página a través de HTTP. Cuando la solicitud llega al servidor web correcto (hardware), el servidor HTTP (software) acepta la solicitud, encuentra la página solicitada o un mensaje de error en caso de no hacerlo y muestra el resultado también usando el protocolo HTTP.
Los servidores web pueden ser de dos tipos:
- Estático: Se trata de un equipo informático con un servidor HTTP que muestra un sitio web tal cuál fue subido.
- Dinámico: La capa de software consiste en un servidor web estático más software adicional como un servidor de aplicaciones y un motor de base de datos. El servidor de aplicaciones actualiza los archivos alojados antes de enviarlos al navegador a través del servidor HTTP.
Los servidores web no solo envían contenido, también pueden recibirlos. Es el caso de los sitios web que incluyen funciones como formularios o carga de archivos.
Para mejorar la interacción de los usuarios con los sitios web, muchos servidores tienen soporte para lenguajes de programación que permiten realizar operaciones como enviar formularios por correo electrónico, realizar operaciones matemáticas, implementar funciones de búsqueda, etc.
De acuerdo a las estadísticas disponibles, el 80% de las páginas de Internet se ejecutan usando servidores web de código abierto.
El ranking de los 5 servidores web más usado se distribuye de la siguiente forma:
- Apache 37,2%
- Nginx 32,4%
- Cloudflare (privativo) 15,0%
- Microsoft IIS (privativo) 7,3%
- LiteSpeed 6,8%
Servidores web open source. Algunas opciones
Apache HTTP Server
Con una trayectoria de 25 años a sus espaldas, este confiable servidor tiene versiones para Linux, Windows y Mac. Está construido usando una arquitectura modular lo que permite ir agregando funciones a medida que se vayan necesitando.
Tiene una completa documentación y debido a su antigüedad y popularidad la web está llena de tutoriales sobre como configurarlo.
NGINX
Diseñado para soportar múltiples conexiones simultáneas, este servidor está construido utilizando una arquitectura asincrónica impulsada por eventos. Se caracteriza por su eficiente utilización de los recursos y por ser fácilmente escalable.
Lighttpd
Este servidor se caracteriza por su poco uso de memoria, baja exigencia de los recursos de la CPU y rapidez en la ejecución. También está diseñado con una arquitectura para responder a eventos y soporta múltiples conexiones simultáneas.
El servidor web Lighthttpd tiene soporte para FastCGI, SCGI, Auth, compresión de salida y reescritura de url
Caddy 2
Uno de los proyectos más nuevos, está escrito utilizando el lenguaje GO e implementa por defecto el protocolo HTTPS por lo que no es necesario hacer nada para instalar y renovar los certificados SSL. Su política de seguridad hace que sea menos vulnerable a ataques tipo Heartbleed.
Dado que no necesita utilizar bibliotecas del sistema operativo anfitrión se puede instalar sin preocuparse por problemas de dependencia.
Es un software para quienes quieren no tener que preocuparse por las configuraciones. Si necesitas flexibilidad, deberás buscar por otro lado.