- ¿Qué es la arquitectura web?
- Herramientas para ver la sesión HTTP
- El mismo principio en todos los lenguajes
Ya sabes programar en Python y entiendes lo básico, así que es momento de mirar qué pasa cuando creamos o visitamos una página web.
Vamos a conocer cómo se comunican el navegador (cliente) y el servidor (el software que entrega el sitio web).
¿Qué es la arquitectura web?
Lo que permite esta comunicación es un protocolo llamado HTTP.
Veamos los pasos básicos que ocurren cuando visitas una página:
- Escribes una dirección en el navegador, por ejemplo:
https://ejemplo.com. - El navegador hace una solicitud HTTP al servidor que aloja el sitio.
- El servidor procesa la solicitud y responde con el contenido (HTML, imágenes, etc.).
- El navegador lee esa respuesta y muestra la página web.
- Si haces clic en un enlace, el ciclo comienza otra vez.
Cada ciclo que acabo de describirte se llama una sesión HTTP y siempre tiene dos partes:
- Una solicitud del navegador (request)
- Una respuesta del servidor (response)
Herramientas para ver la sesión HTTP
Para observar cómo se ve esta comunicación por dentro, se puede usar una herramienta llamada curl.
curl -v --head https://app.codica.la
Este comando muestra toda la información intercambiada en una sesión real. Si tienes Linux o macOS puedes probarlo directamente desde tu terminal.
Entre otras cosas, verás:
- A qué servidor te estás conectando
- Qué protocolo de seguridad se usa (como TLS)
- La respuesta HTTP que devuelve el servidor (por ejemplo, un código 200 si todo va bien)
- Los headers (cabeceras) usados en la solicitud y respuesta
La tecnología HTTP funciona muy bien cuando pedimos información y recibimos una respuesta. Pero hay situaciones donde eso no es suficiente, por ejemplo:
- Chats en tiempo real
- Juegos multijugador en línea
- Notificaciones automáticas
Para esos casos se usa otra tecnología llamada WebSocket. Esta permite una conexión permanente entre el navegador y el servidor, lo que hace posible enviar y recibir datos sin tener que repetir el ciclo de solicitud y respuesta constantemente.
El mismo principio en todos los lenguajes
Aunque existen muchos lenguajes para hacer sitios —como PHP, Ruby, Python, Java o JavaScript— todos siguen el mismo principio:
- Hay una función que recibe una solicitud HTTP.
- Esa función analiza qué página se pidió, con qué parámetros, etc.
- Luego, genera una respuesta (por ejemplo, una página HTML) y la devuelve al navegador.
Este comportamiento es común en todos los servidores web, y se repite sin importar el lenguaje.
| Lenguaje | Código de ejemplo |
|---|---|
| PHP | use Slim\Factory\AppFactory; |
| Ruby | require 'sinatra' |
| Python | from flask import Flask |
| Java | import static spark.Spark.*; |
| JavaScript | import Express from 'express'; |
Como ves, en todos los casos existe una función o bloque que actúa cuando se hace una petición a una ruta específica (como / o /hello), y muestra una respuesta en texto.
Resumen
- Todos los sitios web modernos funcionan bajo el mismo principio de arquitectura web.
- HTTP es el protocolo que permite que cliente y servidor intercambien información.
- Una sesión HTTP siempre contiene un request y un response.
- Para ver esta comunicación se puede usar herramientas como
curl. - WebSocket se usa cuando se necesita comunicación en tiempo real (como en chats y juegos), pero no reemplaza a HTTP.
- Todos los lenguajes siguen la misma lógica: responder solicitudes con contenido, sin importar la tecnología usada.
Ya con esta base, estás más cerca de crear sitios web que se comuniquen como los grandes.
Trabajo independiente
- Ejecuta la solicitud
curl --head https://app.codica.la. Estudia los encabezados que se envían y los que se reciben. - Abre la consola de desarrollador en el navegador, ve a la pestaña Network (Red) y carga
https:///app.codica.laen esa pestaña. Estudia qué solicitudes hace el sitio y con qué encabezados, así como qué respuestas recibe.
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.