SincroDev Logo SincroDev

Protocolo HTTP: El lenguaje universal de la web explicado


Introducción

Cada vez que visitas una página web, cargas una imagen en Instagram o envías datos a una API desde N8N, estás utilizando HTTP (Hypertext Transfer Protocol). Es el sistema nervioso de Internet, y entenderlo es el requisito número uno para cualquier desarrollador Backend.

No es magia, es simplemente una conversación estructurada entre dos ordenadores: un Cliente (tu navegador o script) y un Servidor.

El Ciclo Petición-Respuesta (Request-Response)

HTTP es un protocolo “sin estado” (stateless), lo que significa que cada interacción es independiente. El servidor no recuerda quién eres de una petición a la siguiente a menos que se lo digas explícitamente (con cookies o tokens).

El flujo siempre es el mismo:

  1. Request: El cliente pide algo (“Dame la portada de Google”).
  2. Processing: El servidor busca o genera la información.
  3. Response: El servidor entrega los datos o un error.

Los Verbos HTTP (Methods)

Cuando haces una petición, debes indicar qué quieres hacer. Para eso usamos los “Verbos”:

  • GET: “Dame información”. (Ej: Cargar este artículo). No debe modificar nada en el servidor.
  • POST: “Toma estos datos y procésalos”. (Ej: Enviar un formulario de contacto, crear un nuevo usuario).
  • PUT / PATCH: “Actualiza esta información”. (Ej: Cambiar tu foto de perfil).
  • DELETE: “Borra esto”. (Ej: Eliminar un tweet).

Nota para automatizadores: En herramientas como N8N o Postman, elegir el verbo correcto es crucial. Si intentas enviar datos con GET, la mayoría de APIs rechazarán tu petición.

Códigos de Estado: El semáforo de la web

El servidor siempre responde con un código numérico de 3 dígitos para indicarte qué pasó. Apréndete estos grupos:

  • 2xx (Éxito): Todo salió bien.
    • 200 OK: La respuesta estándar.
    • 201 Created: Se creó el recurso (típico tras un POST).
  • 3xx (Redirección): “Lo que buscas se ha movido”.
    • 301 Moved Permanently: Cambio de dirección definitivo.
  • 4xx (Error del Cliente): “Tú (el cliente) has hecho algo mal”.
    • 400 Bad Request: Tu petición tiene formato incorrecto.
    • 401 Unauthorized: Necesitas loguearte (API Key faltante).
    • 404 Not Found: Lo que buscas no existe.
  • 5xx (Error del Servidor): “Yo (el servidor) he fallado”.
    • 500 Internal Server Error: Algo se rompió en el código del backend.

Headers y Body

Una petición HTTP es como un paquete de Amazon:

  • Headers (Etiqueta): Metadatos. ¿En qué formato envío los datos (Content-Type: application/json)? ¿Quién soy (Authorization)?
  • Body (Caja): El contenido real. El JSON, la imagen o el formulario que estás enviando. Las peticiones GET generalmente no tienen Body.

HTTPS: La “S” es de Seguridad

HTTP envía los datos en texto plano. Si alguien intercepta tu WiFi, puede leer tus contraseñas. HTTPS envuelve esa comunicación en una capa de encriptación (TLS/SSL). Hoy en día, no deberías desplegar ninguna API ni web sin HTTPS.

Conclusión

Dominar HTTP te permite depurar errores rápidamente (“¿Es un 404 o un 500?”), diseñar mejores APIs REST y conectar servicios con confianza. Es la base sobre la que se construye todo lo demás en la web.