miércoles, 1 de abril de 2026

HTTP

 

¿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.
 

No hay comentarios:

Publicar un comentario