Redirección 307
Una redirección 307 es un código de estado HTTP (307 Temporary Redirect) que indica a los navegadores y a los motores de búsqueda que una URL se ha movido temporalmente a una dirección diferente. Es similar a una redirección 302, pero con una distinción fundamental: el método HTTP original (GET, POST, etc.) y el cuerpo de la solicitud deben conservarse exactamente al seguir la redirección.
Una redirección 307 es un código de estado HTTP (307 Temporary Redirect) que indica a los navegadores y a los motores de búsqueda que una URL se ha movido temporalmente a una dirección diferente. Es similar a una redirección 302, pero con una distinción fundamental: el método HTTP original (GET, POST, etc.) y el cuerpo de la solicitud deben conservarse exactamente al seguir la redirección.
Por qué es importante
Como una redirección 307 indica claramente un movimiento temporal a la vez que conserva el método de la solicitud, evita la pérdida de datos en escenarios que implican envíos de formularios POST o llamadas a API. Cuando los motores de búsqueda reciben una respuesta 307, mantienen la URL original en su índice y no transfieren el valor de los enlaces a la nueva URL. Esto significa que el valor SEO de la URL original permanece totalmente intacto una vez que se elimina la redirección temporal. Sin embargo, mantener una redirección 307 durante un período prolongado obliga a los motores de búsqueda a visitar repetidamente la URL original, desperdiciando el presupuesto de rastreo. Si una situación temporal se ha vuelto permanente, se recomienda cambiar a una redirección 301 o 308.
Diferencia con la 302
| Atributo | 307 (Temporary Redirect) | 302 (Found) |
|---|---|---|
| Conservación del método HTTP | Se conserva estrictamente (POST sigue siendo POST) | El método puede cambiar (POST puede convertirse en GET) |
| Definición estándar | Claramente definida en HTTP/1.1 | Existe desde HTTP/1.0, pero la gestión del método es ambigua |
| Índice de búsqueda | La URL original se mantiene | La URL original se mantiene |
| Transferencia del valor de los enlaces | No se transfiere | No se transfiere |
| Caso de uso principal | Movimientos temporales que requieren conservar el método POST | Movimientos temporales generales |
El código de estado 302 tiene una ambigüedad histórica: bajo estándares más antiguos, algunos navegadores convertían las solicitudes POST en GET al seguir una 302. El código 307 se introdujo en la especificación HTTP/1.1 para eliminar esta ambigüedad. Cuando los datos POST no deben perderse, la 307 es la opción más segura frente a la 302.
Casos de uso
- Mantenimiento del servidor: cuando el tráfico necesita dirigirse temporalmente a otro servidor o a una página de mantenimiento, una redirección 307 garantiza un retorno fluido a la URL original una vez que el mantenimiento se completa.
- Pruebas A/B: enviar temporalmente a un subconjunto de usuarios a una versión diferente de la página conservando las clasificaciones de búsqueda de la URL original.
- HSTS (HTTP Strict Transport Security): los navegadores utilizan internamente un código de estado 307 al redirigir las solicitudes HTTP a HTTPS. Este es un comportamiento a nivel de navegador y no requiere una configuración aparte en el servidor.
- Migración temporal de un endpoint POST: cuando los envíos de formularios o las solicitudes de procesamiento de pagos que deben conservar el método POST necesitan reenviarse temporalmente a un endpoint diferente, una redirección 307 es esencial.
Fuentes:
Artículos relacionados de inblog
Cómo ayuda inblog
El panel de inblog utiliza códigos de estado 307 para las redirecciones temporales.