HTTP 308 Permanent Redirect

Una redirección permanente con reglas estrictas: la URL se trasladó para siempre, y la solicitud debe repetirse sin cambios.

Qué significa HTTP 308

HTTP 308 Permanent Redirect es el hermano que conserva el método de 301. El recurso se trasladó permanentemente a la URL de Location, y los clientes deben repetir la solicitud allí sin cambiar el método ni descartar el cuerpo.

Es más importante para las APIs: si un endpoint que acepta POST o PUT se traslada permanentemente, un 301 podría hacer que los clientes antiguos reintenten silenciosamente con GET y pierdan el payload. Un 308 mantiene la escritura intacta.

Causas comunes de las respuestas 308

  • Un endpoint de API que acepta escrituras se trasladó permanentemente a una nueva ruta o dominio.
  • Canonicalización a nivel de infraestructura (por ejemplo, Cloudflare o un balanceador de carga) configurada para conservar los métodos.
  • Un framework que por defecto usa 308 para la normalización de barra final (Next.js, algunas CDN).

Buenas prácticas para desarrolladores

  • Elige 308 sobre 301 siempre que solicitudes que no sean GET puedan llegar a la URL antigua.
  • Como con 301, redirige en un solo salto y mantén la redirección en su lugar a largo plazo.
  • Verifica que los clientes de API antiguos manejen 308 — las bibliotecas HTTP muy antiguas pueden no seguirlo automáticamente.

Ejemplo de respuesta

HTTP/1.1 308 Permanent Redirect
Location: https://api.example.com/v2/upload

Impacto en el SEO

Para los motores de búsqueda, un 308 es equivalente a un 301: un traslado permanente que transfiere señales de indexación y posicionamiento a la URL de destino. Elige entre ellos según los clientes, no según el SEO.

Preguntas frecuentes

¿Es 308 lo mismo que 301 para el SEO?

Sí — Google trata ambos como un traslado permanente y transfiere las señales a la nueva URL.

¿Cuándo se requiere 308 en lugar de 301?

Cuando las solicitudes redirigidas pueden ser POST, PUT, PATCH o DELETE y el método y el cuerpo deben conservarse.

¿Todos los navegadores admiten 308?

Todos los navegadores modernos lo hacen. Solo los clientes muy antiguos (por ejemplo, IE de la era de Windows 7, bibliotecas HTTP antiguas) tenían carencias.