Contenido

    Respuesta del servidor 307 Temporary Redirect

    Definición y propósito del código de estado 307

    El código de estado HTTP 307 (Redirección Temporal) indica que el recurso solicitado está temporalmente disponible en una URL diferente. Este código se utiliza para notificar al cliente que debe enviar futuras solicitudes al nuevo URL proporcionado en el encabezado Location.

    307 - Temporary Redirect

    Descripción del código de estado 307

    El código 307 es parte de la especificación HTTP/1.1. A diferencia de otros códigos de redirección, garantiza que el método HTTP utilizado en la solicitud original se mantendrá en futuras solicitudes. Esto significa que si se realizó una solicitud POST, la solicitud al nuevo URL también será un POST.

    Situaciones en las que se utiliza el código 307

    • Cuando un recurso está en mantenimiento y se necesita redirigir temporalmente a los usuarios.
    • Durante pruebas A/B para evaluar diferentes versiones de una página web.
    • Para redirigir a usuarios basándose en su localización geográfica.

    Diferencias con otros códigos de redirección (301, 302)

    Código Descripción Método HTTP
    301 Redirección Permanente Cambia el método a GET
    302 Redirección Temporal Puede cambiar el método a GET
    307 Redirección Temporal Preserva el método original

    Ejemplos prácticos de uso del código de estado 307

    Ejemplo 1: Actualización temporal de URL para mantenimiento

    Imaginemos que un sitio web está realizando trabajos de mantenimiento. El administrador puede redirigir temporalmente a los usuarios a una página de mantenimiento utilizando el código 307.

    Cómo implementar en el servidor

    HTTP/1.1 307 Temporary Redirect
    Location: http://example.com/mantenimiento
    

    Ejemplo 2: Pruebas A/B

    Durante las pruebas A/B, un sitio web puede redirigir temporalmente a un grupo de usuarios a una versión diferente de una página para evaluar su efectividad.

    Cómo implementar en el servidor

    HTTP/1.1 307 Temporary Redirect
    Location: http://example.com/version-b
    

    Ejemplo 3: Redirección geolocalizada

    Los sitios web pueden redirigir a los usuarios a contenido localizado basado en su ubicación geográfica utilizando el código 307.

    Cómo implementar en el servidor

    HTTP/1.1 307 Temporary Redirect
    Location: http://example.com/es
    

    Cómo corregir el error 307 en varios lenguajes de programación

    Ejemplo en Python (Flask)

    Código que provoca el error 307:

    @app.route('/redirect')
    def redirect_view():
        return redirect('http://example.com/nueva-url', code=307)
    

    Formas de corregir

    • Asegúrate de que el método HTTP se mantenga como POST si es necesario.
    • Verifica la URL de redirección.

    Ejemplo en JavaScript (Node.js con Express)

    Código que provoca el error 307:

    app.get('/redirect', (req, res) => {
        res.redirect(307, 'http://example.com/nueva-url');
    });
    

    Formas de corregir

    • Confirma que el método de la solicitud original es compatible con la redirección.
    • Revisa que la URL de destino sea válida.

    Ejemplo en PHP

    Código que provoca el error 307:

    header('Location: http://example.com/nueva-url', true, 307);
    exit();
    

    Formas de corregir

    • Verifica que no haya otros encabezados que interfieran.
    • Asegúrate de que el método HTTP se mantenga si es necesario.

    Errores y problemas relacionados con el código 307

    Errores comunes que conducen al error 307

    • Redirección a una URL inválida.
    • No conservar el método HTTP original cuando es necesario.

    Cómo evitar el uso incorrecto del código 307

    • Comprender las diferencias entre los códigos de redirección.
    • Realizar pruebas exhaustivas de las redirecciones implementadas.

    Recomendaciones para el uso del estado 307

    Mejores prácticas para implementar redirecciones temporales

    • Utiliza el código 307 cuando la redirección es realmente temporal.
    • Proporciona información clara en los encabezados de respuesta.

    Sugerencias para probar y depurar redirecciones

    • Utiliza herramientas de desarrollo del navegador para monitorear redirecciones.
    • Realiza pruebas de carga para observar cómo se comportan las redirecciones bajo estrés.