¿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,
GETpara obtener datos,POSTpara enviar información,PUTpara actualizar oDELETEpara borrar). - Ruta (Path): Indica el recurso específico que se busca (ej.
/inicioo/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.
Ejercicios
🧩 Parte 1: Observación en la vida realAbrir 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.



