Que es un Servidor Web

"Servidor Web" puede referirse a hardware o software, o ambos trabajando juntos.
En el lado de hardware, un servidor web es un equipo que almacena los archivos de componentes de un sitio web (por ejemplo, documentos HTML, imágenes, hojas de estilo CSS y archivos JavaScript) y los entrega al dispositivo del usuario final. Está conectada a Internet y puede ser accesada a través de un nombre de dominio como Mozilla.org.En el lado del software, un servidor web incluye varias partes que controlan la forma en que los usuarios Web acceden a los archivos alojados, al mínimo un servidor http. Un servidor HTTP es una pieza de software que entiende las URLs (direcciones web) y http (el protocolo que utiliza el navegador para ver las páginas).

En el nivel más básico, cada vez que un navegador necesita un archivo alojado en un servidor Web, el explorador solicita el archivo vía http. Cuando la solicitud llega al servidor Web correcto (hardware), el servidor HTTP (software) envía el documento solicitado de vuelta, también a través de http.
Representación básica de una conexión cliente/servidor mediante http
Para publicar un sitio web, se necesita un servidor Web estático o dinámico.
Un servidor Web estático, o Stack, consiste en un equipo (hardware) con un servidor HTTP (software). Lo llamamos "estático" porque el servidor envía sus archivos alojados "tal cual" a su navegador.
Un servidor Web dinámico consiste en un servidor Web estático más software adicional, más comúnmente un servidor de aplicaciones y una base de datos. Lo llamamos "dinámico" porque el servidor de aplicaciones actualiza los archivos alojados antes de enviarlos a su navegador a través del servidor http.

Por ejemplo, para producir las páginas web finales que se ven en el explorador, el servidor de aplicaciones puede rellenar una plantilla HTML con contenido de una base de datos. Sitios como MDN o Wikipedia tienen muchos miles de páginas web, pero no son verdaderos documentos HTML, sólo unas pocas plantillas HTML y una base de datos gigante. Esta configuración hace que sea más fácil y rápido mantener y entregar el contenido.

Para buscar una página web, como ya dijimos, su navegador envía una solicitud al servidor Web, que procede a buscar el archivo solicitado en su propio espacio de almacenamiento. Al encontrar el archivo, el servidor lo lee, lo procesa según sea necesario y lo envía al navegador. Echemos un vistazo a esos pasos con más detalle.Archivos de hospedaje
Un servidor Web primero tiene que almacenar los archivos del sitio web, a saber, todos los documentos HTML y sus activos relacionados, incluyendo imágenes, hojas de estilo CSS, archivos JavaScript, fuentes y vídeos.

Técnicamente, podrías alojar todos esos archivos en tu propio ordenador, pero es mucho más conveniente almacenarlos en un servidor web dedicado que
siempre está en marchasiempre está conectado a Internettiene la misma dirección IP todo el tiempo (no todos los ISPs proporcionan una dirección IP fija para las líneas de casa)es mantenido por un proveedor de terceras partes

Por todas estas razones, encontrar un buen proveedor de alojamiento es una parte clave de la construcción de su sitio Web. Cavar a través de las diversas empresas de servicios ofrecen y elegir uno que se adapte a sus necesidades y su presupuesto (servicios van desde libre a miles de dólares al mes).

Una vez que configure una solución de hospedaje Web, sólo tiene que cargar sus archivos en su servidor Web.

Servidores Web
Servidores Web
Comunicación mediante http

En segundo lugar, un servidor web proporciona soporte para http (Protocolo de transferencia de hipertexto). Como su nombre lo indica, http especifica cómo transferir hipertexto (es decir, documentos web vinculados) entre dos equipos.
Un protocolo es un conjunto de reglas para la comunicación entre dos equipos. Http es un protocolo textual y apátrida.

TextualTodos los comandos son de texto simple y legibles por el ser humano.ApátridasNi el servidor ni el cliente recuerdan las comunicaciones anteriores. Por ejemplo, al depender sólo de http, un servidor no puede recordar una contraseña que haya escrito o en qué paso está en una transacción. Necesita un servidor de aplicaciones para tareas como esa. (vamos a cubrir ese tipo de tecnología en otros artículos.)

Http proporciona reglas claras para la forma en que un cliente y servidor se comunican. Vamos a cubrir el propio http en un artículo técnico más adelante. Por ahora, sólo ten en cuenta estas cosas:
Sólo los clientes pueden realizar solicitudes HTTP y, a continuación, sólo a servidores. Los servidores sólo pueden responder a la solicitud HTTP del cliente.Al solicitar un archivo a través de http, los clientes deben proporcionar la dirección URL del archivo.El servidor Web debe responder a cada solicitud HTTP, al menos con un mensaje de error.

La página MDN 404 como ejemplo de dicha página de error en un servidor Web, el servidor HTTP es responsable de procesar y responder a las solicitudes entrantes.
Al recibir una solicitud, un servidor http comprueba primero si la URL solicitada coincide con un archivo existente.Si es así, el servidor Web devuelve el contenido del archivo al explorador. Si no es así, un servidor de aplicaciones compila el archivo necesario.Si ninguno de los procesos es posible, el servidor Web devuelve un mensaje de error al navegador, más comúnmente "404 no encontrado". (ese error es tan común que muchos diseñadores web pasan bastante tiempo diseñando páginas de error 404.)

Contenido estático versus dinámico

En términos generales, un servidor puede servir tanto de contenido estático como dinámico. "estático" significa "servido como está". Los sitios web estáticos son los más fáciles de configurar, por lo que le sugerimos que haga de su primer sitio un sitio estático.
"Dynamic" significa que el servidor procesa el contenido o incluso lo genera sobre la marcha desde una base de datos. Esta solución proporciona más flexibilidad, pero la pila técnica se vuelve más difícil de manejar, por lo que es dramáticamente más compleja para construir el sitio Web.
Tome por ejemplo la página que está leyendo en este momento. En el servidor Web que lo aloja, hay un servidor de aplicaciones que toma el contenido de un artículo de una base de datos, lo formatea, lo coloca dentro de algunas plantillas HTML y le envía los resultados. En este caso, el servidor de aplicaciones se llama Kuma y se construye con Python (usando el framework Django). El equipo de Mozilla construyó Kuma para las necesidades específicas de MDN, pero hay muchas aplicaciones similares construidas en muchas otras tecnologías.
Hay tantos servidores de aplicaciones que es bastante difícil sugerir uno en particular. Algunos servidores de aplicaciones atienden a categorías específicas de sitios web como blogs, wikis o tiendas electrónicas; otros, llamados CMSS (Content Management Systems), son más genéricos. Si está construyendo un sitio web dinámico, tómese el tiempo necesario para elegir una herramienta que se adapte a sus necesidades. A menos que desees aprender alguna programación de servidor Web (¡ que es un área emocionante en sí mismo!), no necesitas crear tu propio servidor de aplicaciones. Eso es sólo reinventar la rueda.