Bien llegamos al final del primer capítulo y que mejor para terminar que integrar todo lo que hemos aprendido en los temas anteriores, en esta ocasión vamos a entender cómo funciona un servidor web.

Tener la «foto completa» de todo lo que rodea a un servidor web nos facilitará la administración y el desarrollo de nuestras aplicaciones web, además tendremos la capactidad de detectar problemas, solucionarlos o delegarlos a nuestro proveedor.

Este artículo también nos dará lugar al próximo paso donde instalaremos nuestro propio servidor web local con Apache HTTP Server, por ello es importante tener bien claros todos los conceptos que vimos en los temas anteriores.

Un servidor web es un software que se ejecuta sobre un sistema operativo y procesa distintas aplicaciones web. Generalmente escucha solicitudes, las procesa basado en «directivas o reglas» y regresa una respuesta a quien lo ha solicitado.

Veamos un poco más en este ejemplo:

¿Qué es un servidor web?

¿Qué es un servidor web?

El servidor web puede ser Apache HTTP o Ngnix sobre sistemas operativos Linux/Windows o Internet Information Services exclusivamente sobre Windows.

Para la mayoría de los que contratamos hosting nos será natural conocer por sistema operativo Linux, por servidor web Apache HTTP y por puerto de navegación el 80, sobre los cuales trabajaremos y usaremos como referencia durante todo el curso.

Vamos a ver un ejemplo muy específico, como funciona el servidor web cuando pedimos HTML o un documento PHP:

peticion_servidor_web

Petición a un servidor web

Si no comprendes los conceptos de IP, DNS, Puerto 80, GET / y demás en el gráfico revisa los temas anteriores aquí.

Con nuestro navegador solicitamos «sitio1.com» (por ejemplo), la solicitud va a un DNS que determina la IP donde se encuentra el servidor y redirige la petición allí.

El servidor web  escucha en el puerto 80 y resuelve el virtual host acorde (lo que veremos en el siguiente capítulo).

El virtual host a su vez tiene la configuración del File System (Sistema de Archivos) es decir, sabe en qué directorio (carpeta) están los archivos.

Si los archivos son HTML plano el Servidor web regresará la respuesta HTML al cliente. Si los archivos son PHP apache traerá el contenido, lo pasará al módulo de PHP, el cual a su vez, generará una salida HTML que regresará al servidor web y este finalmente al cliente.

Todo esto es lo que sucede cuando publicamos una aplicación web, sea creada por nosotros mismos, wordpress, joomla, etc… en un servidor web ¿Interesante no? a partir de este punto ya estamos listos para comenzar a instalar nuestro propio servidor web local y absorber mejor estos conocimientos con la práctica, los invito a continuar con el siguiente capitulo.