En un servidor web se almacenan los contenidos de una página web y, de este modo, se garantiza su disponibilidad permanente. Así, cuando introduces una dirección de Internet en tu navegador, es siempre este tipo de servidor el que envía los distintos componentes de la página a tu ordenador. Para que la página esté disponible en todo momento, el servidor web correspondiente debe estar permanentemente en línea.

VPS gratis
Servidor virtual 30 días gratis

Convéncete por ti mismo y elige un servidor virtual.

Servidor web: definición e historia

Un servidor web (del inglés “web server”; también denominado servidor HTTP) es un tipo de servidor cuya función es la distribución de contenidos web en Internet o en una intranet (del inglés “to serve” = servir/atender). Como parte de una red informática, transmite documentos a los denominados clientes (clients), por ejemplo, una página web a un navegador.

En general, la pregunta “qué es un servidor web” puede referirse a dos cosas: al software del servidor (es decir, al programa en sí) y al equipo en el que el software del servidor web se está ejecutando. Cuando se trata de este último, se habla del host (un host puede alojar múltiples soluciones de software para servidores web). En el resto del artículo, nos referiremos explícitamente a alguno de estos significados, ya sea al software de servidor web/software servidor HTTP (o programa) o al host.

El desarrollo de los servidores web está estrechamente vinculado al físico e informático británico Tim Berners-Lee, quien en 1989 sugirió que el intercambio de información en el CERN (Organización Europea para la Investigación Nuclear) debería realizarse a través de un sistema de hipertexto más fácil y rápido. En 1990, junto con Robert Cailliau, presentó un proyecto a partir del cual y con el paso del tiempo, junto con el primer servidor web, llamado “CERN httpd”, también se creó el primer navegador web y otros elementos básicos de Internet como HTML y HTTP. Es así como Berners-Lee es hoy considerado el fundador de la Web.

La tecnología detrás de los servidores web

Principalmente, el software de un servidor HTTP es el encargado de proporcionar los datos para la visualización del contenido web. Para ello, el programa se comunica con un cliente web (por lo general, un navegador o un crawler de los motores de búsqueda).

Para abrir una página web, el usuario solo tiene que escribir la URL correspondiente en la barra de direcciones de su navegador web. El navegador envía una solicitud al servidor web, quien responde, por ejemplo, entregando una página HTML. Esta puede estar alojada como un documento estático en el host o ser generada de forma dinámica, lo que significa que el servidor web tiene que ejecutar un código de programa (p. ej., Java o PHP) antes de tramitar su respuesta. El navegador interpreta la respuesta, lo que suele generar automáticamente más solicitudes al servidor a propósito de, por ejemplo, imágenes integradas o archivos CSS.

El protocolo utilizado para la transmisión es HTTP (o su variante cifrada HTTPS), que se basa, a su vez, en los protocolos de red IP y TCP (y, muy rara vez, en UDP). Un servidor web puede entregar los contenidos simultáneamente a varios ordenadores o navegadores web. La cantidad de solicitudes y la velocidad con la que pueden ser procesadas depende, entre otras cosas, del hardware y la carga (número de solicitudes) del host. Sin embargo, la complejidad del contenido también juega un papel importante: los contenidos web dinámicos necesitan más recursos que los contenidos estáticos.

La selección del equipo adecuado para el servidor y la decisión de si este debe ser dedicado, virtual o en la nube, se debe hacer pensando siempre en evitar sobrecargas del servidor. Recuerda que, aunque hayas encontrado un servidor web que se adapta perfectamente a las necesidades de tu proyecto, siempre se corre el riesgo de que se presenten fallos en él como consecuencia de imprecisiones técnicas o cortes de energía en el centro de datos del host. Aunque no es muy frecuente, durante un período de inactividad de este tipo (downtime), la web no estará disponible a menos que se ejecute en un dispositivo con una conexión a una Content Delivery Network (CDN), algo poco habitual en el caso de webs pequeñas.

Otras funciones de los servidores web

Aunque su principal función es la transferencia de contenido web, muchos programas de servidor web ofrecen características adicionales:

Funciones adicionales de un servidor web
Seguridad Cifrado de la comunicación entre el servidor web y el cliente mediante HTTPS
Autenticación del usuario Autenticación HTTP para áreas específicas de una aplicación web
Redirección Redirección de una solicitud de documento por medio del motor de reescritura (mod_rewrite)
Caché Almacenamiento en caché de documentos dinámicos para la respuesta eficiente de solicitudes y para evitar una sobrecarga del servidor web
Asignación de cookies Envío y gestión de cookies HTTP

Además del software del servidor, un host puede contener otro tipo de programas, como por ejemplo un servidor FTP para la carga de archivos o un servidor de base de datos para contenidos dinámicos (aunque para este propósito, el proveedor suele ofrecer instancias/recursos adicionales para bases de datos). En general, existen diferentes tipos de servidores web que pueden ser utilizados para numerosos propósitos, por ejemplo, los servidores de correo, los servidores de juegos o los servidores proxy.

Definición: servidor web vs. alojamiento web

¿Qué papel juegan los servidores web dentro del alojamiento web? Y ¿qué es exactamente el alojamiento web (o web hosting)? En términos generales, los servidores web constituyen siempre un componente fundamental del alojamiento web. Sin embargo, para los principiantes no siempre es fácil distinguir entre ambos conceptos. A continuación, diferenciamos ambos términos.

Se denomina alojamiento web (abreviado con frecuencia como “hosting”) al almacenamiento y disponibilidad de contenidos web. Los archivos de una página web se guardan en un espacio web (webspace o almacenamiento online para proyectos web). El espacio web equivale, por así decirlo, al disco duro donde se almacenan los contenidos, y este espacio de almacenamiento debe estar conectado a un servidor web para que dichos contenidos (por ejemplo, los de una página web) sean accesibles en línea.

Un host (ordenador servidor web) y el espacio web asociado se contratan a través de un proveedor de hosting (web hoster). Muchos proveedores de servicios de Internet, como por ejemplo IONOS, actúan como proveedores de hosting. Si eliges un host autogestionado dentro de un servicio de alojamiento web, tendrás que configurarlo tú mismo. Para ello necesitarás un programa de servidor web.

Programas de servidor web más comunes (gratuitos)

La gama de programas para ejecutar un servidor web es muy amplia y algunos están disponibles de forma gratuita en Internet. La única condición es que el software sea compatible con el sistema operativo del host. La mayoría de los servidores web están basados en UNIX, es decir, en Linux (Apache, NGINX, Tomcat, etc.), aunque también funcionan en Windows. La excepción es Microsoft IIS, que solo es ejecutable en servidores Windows.

A continuación, describimos brevemente algunos de los programas más populares para servidores web:

Servidor Apache HTTP

El servidor web Apache se desarrolla permanentemente como un programa de código abierto disponible en numerosas versiones. Este programa modular es ejecutable en prácticamente cualquier sistema operativo y es uno de los más utilizados. Es apropiado para contenidos web dinámicos, pues facilita la integración de lenguajes de programación como PHP y Apache puede ejecutar otros programas mediante la interfaz CGI. Para facilitar la instalación de un servidor web Apache, que puede resultar muy compleja, se pueden utilizar soluciones de software como XAMPP, que se encargan en gran medida de su configuración. Además de Apache, estas soluciones contienen también diversos lenguajes de programación, así como el software más adecuado para la gestión de bases de datos.

Apache Tomcat

Se trata de un software de servidor web gratuito y de código abierto dentro del entorno Java. Si deseas generar contenidos web del lado del servidor con Java, Apache Tomcat podría ser el contenedor web adecuado. Además, puede integrarse en otro servidor web mediante el conector AJP, por ejemplo en Apache HTTP Server o en Microsoft IIS.

NGINX

NGINX va más allá de un tradicional servidor web de código abierto. Ofrece, entre otras cosas, un proxy inverso para reducir la carga del servidor y permitirle trabajar más rápido. En los últimos años, NGINX ha ganado popularidad de forma constante.

Microsoft IIS

Microsoft Internet Information Services (IIS) es un paquete de software de servidor que incluye un servidor web. En sus comienzos, IIS era una parte integral de los sistemas de Windows Server, ahora, puede instalarse en varias ediciones de Windows. Microsoft IIS solo puede ser utilizado en servidores Windows.

LiteSpeed Web Server

Este software de servidor web para UNIX y Linux cuenta con un programa de código abierto, una versión gratuita y una versión empresarial. LiteSpeed Web Server se destaca por su alta velocidad en la transmisión de datos, especialmente en su versión para empresas.

Nota

La administración de los programas de servidor HTTP suele realizarse a través del acceso remoto desde otro ordenador. Esto resulta especialmente cómodo con un software de administración remota. Con Plesk, uno de los programas más conocidos para el acceso remoto, puedes gestionar un servidor web tanto desde un equipo con Linux o UNIX como desde uno con Windows. De este modo, por ejemplo, puedes controlar un servidor Linux desde un ordenador doméstico con Windows y viceversa.

Cómo encontrar el servidor web apropiado y configurarlo

Si quieres conseguir un servidor web para tu proyecto online, lo primero que necesitarás es un host con suficiente espacio web. Una de las opciones más populares es alquilar los recursos del servidor en algún proveedor. Especialmente aquellos usuarios con pocos o ningún conocimiento en gestión de servidores pueden decantarse por opciones como el alojamiento compartido o el alojamiento en la nube gestionado y configurar así su propio servidor web.

A diferencia de los servidores con acceso root, en los que el usuario no solo tiene todos los derechos de acceso, sino también la responsabilidad completa de la seguridad del servidor, con un alojamiento gestionado el host se encarga de gran parte de la administración básica. Aquí, el usuario no tiene que hacerse cargo de aspectos como las actualizaciones del software y de seguridad y puede, adicionalmente, instalar en su servidor los programas que desee. En el hosting compartido no tienes que preocuparte por las actualizaciones de software y, además, tienes acceso al espacio web y a las opciones de configuración proporcionadas por el proveedor que elijas.

Alquilar un servidor suele implicar el pago de una cuota mensual. Los costes dependen del rendimiento y del tamaño de componentes individuales como, por ejemplo, la capacidad y el rendimiento del servidor (CPU y RAM), el espacio web y el tipo de almacenamiento en el disco duro (SSD o HDD). Quien quiera flexibilidad para la capacidad de su servidor web debería decantarse por el alojamiento en la nube. Con este, el rendimiento de los componentes puede ser modificado para adaptarse a las necesidades actuales del proyecto online en cualquier momento.

El rendimiento por parte de los diferentes componentes del host depende de las necesidades de la página web. Un pack de alojamiento económico y con menor rendimiento resulta perfecto para proyectos como un pequeño blog o una web que sirva como tarjeta de visita en Internet. Por el contrario, grandes portales online o páginas web con muchos contenidos demandan muchos más componentes. También hay que considerar que ciertas aplicaciones web requieren un volumen de transferencia de datos mayor que otras. Es por esto que, para prevenir estos escenarios, es necesario elegir un ancho de banda ilimitado con el proveedor escogido. Así, estarás garantizando que el tráfico de datos de tu web siempre goce de la capacidad que necesita.

Una vez hayas encontrado el servidor apropiado para tu proyecto, puedes configurar el software HTTP correspondiente. Recuerda que aun utilizando un servidor gestionado, tendrás que ocuparte de ciertos aspectos de seguridad que no podrás perder de vista para el alojamiento de tu web.

Seguridad de los servidores web

Una vez has elegido y configurado tu servidor web, has de mantenerlo actualizado. Las versiones desactualizadas representan una oportunidad de ataque para los delincuentes informáticos que, en el peor de los casos, podrían tomar el control sobre tu servidor web. En el hosting compartido y gestionado, los proveedores suelen encargarse de la mayoría de las medidas de seguridad, de otro modo, esta tarea está completamente en tus manos.

Además de las actualizaciones permanentes, la implementación de un cortafuegos por hardware resulta de gran ayuda a la hora de proteger tu sistema de intrusiones. Establecer una zona desmilitarizada (DMZ) es también muy útil. Además, existen herramientas como Fail2ban que te ayudan a proteger tu servidor de accesos no autorizados.

Otro de los principios de la seguridad de un servidor web es asignar a su administrador únicamente aquellas funciones que sean absolutamente necesarias o bien cerrar todos los puertos y cancelar los servicios innecesarios. Adicionalmente, crear y usar contraseñas seguras es una de las medidas básicas de seguridad para el cuidado de un servidor. Recuerda que es importante contar con un soporte al cliente eficiente, fiable y cualificado, así, en caso de que surjan preguntas o se presenten situaciones de emergencia, contarás con asistencia. Esto resulta de gran ayuda especialmente para los administradores menos experimentados.

Si tu proveedor de alojamiento no se encarga completamente de la protección de tu servidor web, seguramente necesitarás ciertos conocimientos técnicos para gestionar y mantener tu servidor, así como conocimientos básicos en el funcionamiento de un host. Una alternativa para hacerte cargo consiste en aprender del ensayo y error con un servidor en una red cerrada donde no tengas que preocuparte de ningún tipo de ciberataque por parte de terceros.

¿Cómo funciona un servidor web?

Una vez que tu servidor HTTP está configurado y has transferido a él los contenidos de tu página web, puede comenzar a funcionar. Lo hace siguiendo el modelo cliente-servidor. Por ejemplo, si para visitar la página de inicio de IONOS introduces el dominio “www.ionos.es” en la barra de direcciones de tu navegador, tendrá lugar el siguiente proceso:

  1. Tan pronto como comienzas a escribir la dirección en la barra de direcciones, tu navegador envía la información a un servidor de nombres de dominio (también conocido como servidor DNS). Como parte fundamental del Domain Name System (DNS), el directorio central en Internet, un servidor de nombres de dominio tiene acceso a la agenda completa de direcciones en Internet. A continuación, el nombre alfanumérico del dominio (www.ionos.es) se convierte en una dirección IP numérica (217.160.72.6) y se envía de regreso al navegador.
  2. Acto seguido, el navegador realiza una solicitud de los contenidos de la página web. Esto se hace contactando al servidor web con la dirección IP numérica obtenida en el paso anterior.
  3. El servidor web responde a la petición enviando un documento de la página web solicitada al navegador. Posteriormente, el navegador envía nuevamente una solicitud al servidor web, esta vez para otro documento que también forma parte de la web solicitada. Este proceso se repite hasta que todos los elementos se hayan transferido y la web se muestra completamente en el navegador. Ahora bien, si haces clic en uno de los enlaces de la página de inicio de IONOS, se realizará una nueva solicitud al servidor web, iniciando nuevamente el proceso.
Consejo

En IONOS puedes alquilar tu propio servidor para una amplia variedad de proyectos (servidor web, servidor de correo o una aplicación personalizada) a precios muy competitivos. 

¿Le ha resultado útil este artículo?
Ir al menú principal