¿Qué es HTTP?
HTTP es el protocolo fundamental que permite la comunicación en la
World Wide Web. Funciona como un lenguaje estandarizado que permite a
los navegadores (clientes) solicitar información y a los servidores
entregarla. Es, esencialmente, el conjunto de reglas que rige cómo se
intercambian los datos en internet.
El modelo Cliente-Servidor
El funcionamiento de HTTP se basa en un modelo de petición y respuesta:
- El Cliente: Suele ser el navegador web del usuario. Este inicia la comunicación enviando una petición (Request).
- El Servidor: Es una computadora remota que alberga
los archivos de un sitio web. Este recibe la petición, la procesa y
devuelve una respuesta (Response).
La estructura de la comunicación
Una transacción HTTP se divide en dos componentes principales:
1. La Petición (Request)
Cuando un usuario accede a una página, el navegador envía un mensaje que incluye:
- Método: Define la acción a realizar (por ejemplo,
GET para obtener datos, POST para enviar información, PUT para actualizar o DELETE para borrar). - Ruta (Path): Indica el recurso específico que se busca (ej.
/inicio o /contacto). - Cabeceras (Headers): Contienen metadatos, como el tipo de navegador utilizado o el formato de datos que el cliente espera recibir.
- Cuerpo (Body): Solo se incluye en peticiones como
POST, donde se envían datos (como los campos de un formulario). - Se puede ver:
Abrir cualquier página (ej: Google o un diario)
Presionar F12
Ir a la pestaña 👉 "Network" (Red)
Presionar F5 (recargar)
Cada línea es un request HTTP real
Ejemplo:
GET /contacto HTTP/1.1
Host: ejemplo.com
User-Agent: Mozilla/5.0
2. La Respuesta (Response)
Una vez que el servidor procesa la petición, envía de vuelta:
- Código de estado: Indica el resultado de la operación. Los más comunes son:
200 OK: La solicitud fue exitosa.301/302: Redirección (el recurso se movió).404 Not Found: El recurso solicitado no existe.500 Internal Server Error: Hubo un fallo en el servidor.
- Cabeceras: Información sobre el contenido, como el tipo de archivo (HTML, JSON, imagen) y el tamaño.
- Cuerpo: Es el contenido solicitado, como el código HTML de una página o un archivo JSON.
Características fundamentales
- Es "Stateless" (Sin estado): HTTP es un protocolo
que no tiene memoria. Cada petición es tratada como algo independiente y
nuevo. Para mantener la sesión de un usuario, se utilizan herramientas
adicionales como las Cookies o el LocalStorage.
- Basado en texto: Originalmente, HTTP utiliza mensajes de texto plano, lo que facilita su interpretación tanto para humanos como para máquinas.
- HTTPS (La versión segura): Debido a que HTTP estándar envía la información sin cifrar, se utiliza HTTPS.
Este añade una capa de seguridad mediante protocolos de cifrado
(SSL/TLS), garantizando que los datos entre el cliente y el servidor
viajen protegidos contra interceptaciones.
Photo by
Miguel Ángel Padriñán Alba on
Unsplash Ejercicios
🧩 Parte 1: Observación en la vida real
🔍 Actividad
Abrir el navegador (Chrome o Firefox).
Ingresar a un sitio web (por ejemplo: una página de noticias o una tienda online).
Presionar F12 → pestaña "Network" (Red).
Recargar la página.
📝 Consignas
Responder con base en lo que ven (NO teoría):
Identificar 3 requests diferentes y completar:
Recurso Método Código de estado Tipo de archivo
Elegir uno de esos requests y responder:
¿Qué método usa? ¿Por qué creen que usa ese método?
¿Qué código de estado devuelve? ¿Qué significa en ese caso concreto?
Buscar en las cabeceras:
Un ejemplo de User-Agent
Un ejemplo de Content-Type
👉 Adjuntar captura de pantalla como evidencia.
🧩 Parte 2: Interpretación de situaciones reales
🔎 Caso 1
Un usuario intenta entrar a:
www.misitio.com/productos
y recibe un 404 Not Found.
👉 Explicar:
¿Qué significa ese error?
Mencionar 2 posibles causas reales.
🔎 Caso 2
Un formulario de registro envía datos de usuario.
👉 Responder:
¿Qué método HTTP debería usarse? ¿Por qué?
¿Dónde viajan los datos?
🔎 Caso 3
Un sitio redirige automáticamente de:
http://misitio.com
→ https://misitio.com
👉 Explicar:
¿Qué código de estado interviene?
¿Por qué se realiza esta acción?
🧩 Parte 3: Construcción de una petición
✍️ Actividad
Inventar una petición HTTP completa para:
👉 "Obtener la página de contacto de un sitio"
Debe incluir:
Método
Ruta
2 headers reales
(Opcional) body si corresponde
Ejemplo de formato:
GET /contacto HTTP/1.1
Host: ejemplo.com
User-Agent: ...
🧩 Parte 4: Análisis crítico
Responder con opinión propia:
¿Por qué HTTP es "stateless"?
¿Qué problema genera eso en sitios como redes sociales?
¿Cómo se soluciona en la práctica?
⚠️ IMPORTANTE:
Las respuestas deben incluir un ejemplo concreto de uso real (ej: login, carrito de compras, etc.).
🧩 Parte 5: Mini desafío práctico
🎯 Situación
Un desarrollador dice:
"Mi API funciona, pero cuando hago una petición me devuelve error 500"
👉 Responder:
¿Qué significa ese error?
¿El problema está del lado del cliente o del servidor?
Dar 2 posibles causas técnicas.