http web development status codes headers api caching security

Códigos de Estado HTTP y Cabeceras de Respuesta: Guía de Referencia Completa

Una referencia exhaustiva de los códigos de estado HTTP (1xx-5xx) y las cabeceras de respuesta esenciales. Aprenda a depurar aplicaciones web, optimizar el almacenamiento en caché con Cache-Control y gestionar sesiones con Set-Cookie.

2026-04-12

Códigos de Estado HTTP y Cabeceras de Respuesta: Referencia Completa

Comprender los códigos de estado y las cabeceras HTTP es fundamental para desarrolladores web, especialistas en SEO y administradores de sistemas. Esta guía de referencia cubre los códigos y cabeceras más importantes utilizados en la comunicación web moderna.

1. Referencia Rápida de Códigos de Estado HTTP

Los códigos de estado se agrupan en cinco clases según el primer dígito.

1xx: Informativos

  • 101 Switching Protocols: El servidor acepta cambiar los protocolos (por ejemplo, actualizar a WebSockets).

2xx: Éxito

  • 200 OK: La solicitud ha tenido éxito.
  • 201 Created: La solicitud ha tenido éxito y se ha creado un nuevo recurso.
  • 204 No Content: La solicitud ha tenido éxito, pero no hay contenido que enviar.

3xx: Redirección

  • 301 Moved Permanently: El recurso se ha movido permanentemente a una nueva URL.
  • 302 Found: El recurso se encuentra temporalmente en una URL diferente.
  • 304 Not Modified: Usado para caché; indica que el recurso no ha cambiado.

4xx: Errores del Cliente

  • 400 Bad Request: El servidor no puede procesar la solicitud debido a un error del cliente (ej. sintaxis malformada).
  • 401 Unauthorized: Se requiere autenticación.
  • 403 Forbidden: El servidor entiende la solicitud pero se niega a autorizarla.
  • 404 Not Found: No se pudo encontrar el recurso solicitado.
  • 429 Too Many Requests: El usuario ha enviado demasiadas solicitudes en un periodo de tiempo (Límite de tasa).

5xx: Errores del Servidor

  • 500 Internal Server Error: Mensaje de error genérico cuando el servidor encuentra una condición inesperada.
  • 502 Bad Gateway: El servidor, actuando como pasarela, recibió una respuesta inválida del servidor de origen.
  • 503 Service Unavailable: El servidor no puede atender la solicitud en este momento (mantenimiento o sobrecarga).
  • 504 Gateway Timeout: El servidor no recibió una respuesta a tiempo del servidor de origen.

2. Cabeceras de Respuesta HTTP Esenciales

Las cabeceras proporcionan metadatos sobre la respuesta o el servidor.

Control de Caché: Cache-Control

Controla cómo el navegador y los cachés intermedios (como los CDN) almacenan el recurso.

  • public, max-age=31536000, immutable: Ideal para activos estáticos con versión (JS, CSS).
  • no-store: No almacenar nada en caché (útil para datos sensibles).
  • no-cache: Debe revalidar con el servidor antes de usar la versión en caché.

Seguridad: Strict-Transport-Security (HSTS)

Indica al navegador que solo acceda al sitio a través de HTTPS.

  • Ejemplo: max-age=63072000; includeSubDomains; preload

Gestión de Sesiones: Set-Cookie

Envía una cookie desde el servidor al agente de usuario.

  • Ejemplo: id=abc; Max-Age=3600; Secure; HttpOnly; SameSite=Lax
    • HttpOnly: Evita que JavaScript acceda a la cookie (mitiga XSS).
    • Secure: Solo envía la cookie a través de HTTPS.
    • SameSite: Controla el comportamiento de cookies entre sitios (Lax, Strict o None).

Negociación de Contenido: Content-Type y Accept-Encoding

  • Content-Type: Indica el tipo de medio del recurso (ej. text/html, application/json).
  • Accept-Encoding: Comunicado por el cliente para indicar la compresión soportada (ej. gzip, br).

3. Tabla Comparativa: Redirección 301 vs. 302

Característica 301 Movido Permanentemente 302 Encontrado (Temporal)
Impacto SEO Pasa equidad de enlace (PageRank) No pasa equidad de enlace
Caché del Navegador Cacheado por defecto No cacheado por defecto
Caso de Uso Migración de sitio, cambio de URL Mantenimiento, promociones temporales

FAQ: Problemas Comunes de HTTP

P: ¿Por qué obtengo un error 403 Forbidden incluso cuando estoy conectado?

R: Esto suele ocurrir si el usuario carece de los permisos/roles específicos para ese recurso, o si hay un desajuste del token CSRF.

P: ¿Cuál es la diferencia entre 401 y 403?

R: 401 Unauthorized significa "No sé quién eres" (por favor, inicia sesión). 403 Forbidden significa "Sé quién eres, pero no tienes permiso para estar aquí".

P: ¿Cómo soluciono un error 502 Bad Gateway?

R: Normalmente es un problema del servidor. Compruebe si la aplicación backend (Node.js, Python, etc.) se está ejecutando o si el proxy inverso (Nginx/Apache) está configurado correctamente.

Herramientas Relacionadas

  • Analizador de Cabeceras HTTP: Inspeccione y analice las cabeceras de cualquier URL.
  • Constructor de Cache-Control: Genere políticas de caché optimizadas.
  • Verificador de Códigos de Estado: Verifique el código de respuesta para su API o sitio web.