Hostwinds Blog

Resultados de búsqueda para:


307 Redirección temporal: qué es y cuándo/cómo usarla Foto principal

307 Redirección temporal: qué es y cuándo/cómo usarla

por: Hostwinds Team  /  marzo 29, 2024


¿Qué es un código de estado 307?

La redirección temporal 307 es un código de estado de respuesta HTTP que indica que el recurso solicitado (por ejemplo, la página web) se ha desviado temporalmente a una URL diferente.Sin embargo, a diferencia de los códigos de estado de redirección temporal similares, como 302 (encontrado) o 303 (ver otro), se le dice al cliente (por ejemplo, el navegador web) que continúe utilizando el mismo método de solicitud HTTP para la nueva URL que lo hizo para la solicitud original.

En pocas palabras, cuando un servidor envía un código de estado 307 en respuesta a la solicitud de un navegador, significa que el recurso solicitado se ha movido temporalmente a otra URL.El navegador debe seguir la redirección y usar el mismo método de solicitud HTTP (como Get o Post) que usó para la URL original al acceder al nuevo.

Cuándo usar el código de estado 307

Hay varias razones por las cuales un servidor querría que el cliente (navegador) continúe utilizando el mismo método de solicitud cuando se redirige a una nueva URL, la mayoría de las cuales gira en torno a la seguridad y mantiene una experiencia de usuario consistente.

Aquí hay algunos escenarios en los que el código de estado 307 se puede utilizar de manera efectiva:

Autenticacion y autorizacion: Cuando un cliente envía una solicitud a un recurso que requiere autenticación o autorización, el servidor puede responder con un código de estado 307 junto con la URL de la página de inicio de sesión o autorización.Esto garantiza que el cliente vuelva a enviar la solicitud original (por ejemplo, POST) después de la autenticación exitosa sin alterar el método.

Envíos de formulario: En aplicaciones web donde se involucran los envíos de formularios, como comercio electrónico Los procesos de pago o las encuestas en línea, si es necesario redirigir temporalmente al usuario (por ejemplo, debido a los errores de vencimiento o validación de la sesión), se puede utilizar un código de estado 307 para mantener la integridad del método de envío de formulario.

Mantenimiento temporal del sitio o tiempo de inactividad: Durante el mantenimiento temporal o el tiempo de inactividad de un sitio web, los servidores pueden necesitar redirigir las solicitudes entrantes a una página temporal.Al usar un código de estado 307, el servidor asegura que el cliente siga la redirección sin cambiar el método HTTP, lo que permite una transición perfecta al recurso original una vez que se completa el mantenimiento.

Manejo de cambios de ubicación de recursos: Si un recurso se ha trasladado temporalmente a una ubicación diferente en el servidor o un servidor completamente diferente, pero se espera que vuelva a su ubicación original en el futuro, se puede usar un código de estado 307 para informar a los clientes sobre la reubicación temporal al preservar elMétodo de solicitud original.

Cuándo evitar usar redireccionamientos 307

Si bien los códigos de estado 307 pueden ayudar a mantener la seguridad de la seguridad y beneficiar la experiencia del usuario, ciertamente no es un código de respuesta para utilizar en todo su sitio.De hecho, si no se usa en el escenario correcto, 307 redireccionamientos pueden tener un impacto negativo en la función del sitio y la experiencia del usuario.

Aquí hay un par de ejemplos de cuándo evitar una redirección 307:

Cambios de URL permanentes: Los motores de búsqueda interpretan 307 redireccionamientos como temporales, por lo que si tiene la intención de que la redirección tenga efectos a largo plazo en SEO, como pasar la equidad de enlace a la nueva URL, una redirección 307 podría obstaculizar eso.

301 redirección es el único código de estado que debe usarse cuando la intención es mover permanentemente una URL a otra.

Redirecciones en todo el sitio: El uso de códigos de estado 307 para redireccionamientos de todo el sitio o a granel podría afectar el rendimiento del servidor, especialmente para sitios de alto tráfico.El procesamiento de una gran cantidad de redireccionamientos temporales puede impedir los recursos del servidor y ralentizar los tiempos de respuesta del sitio, finalmente perjudicando el SEO y la experiencia del usuario.

Sitios web que podrían beneficiarse al usar 307 redireccionamiento

Si bien la mayoría de los sitios web podrían utilizar el código de estado 307 por una razón u otra, hay pocos que se destaquen:

Plataformas de comercio electrónico: Los sitios web que involucran carritos de compras, procesos de pago y cuentas de usuario pueden beneficiarse de 307 redireccionamientos durante la autenticación, el procesamiento de pagos o el mantenimiento temporal.

Aplicaciones web: Los sitios que ofrecen servicios en línea, herramientas de productividad o plataformas de colaboración pueden usar 307 redireccionamientos para mantener sesiones de usuario, preservar los envíos de formularios o manejar la reubicación temporal de los recursos.

Servicios de membresía o suscripción: Los sitios web que requieren autenticación o autorización de usuarios, como sitios de membresía, plataformas basadas en suscripción o sistemas de administración de contenido, pueden utilizar 307 redireccionamientos para administrar las sesiones de usuario y garantizar un acceso perfecto a los recursos protegidos.

Formularios y encuestas en línea: Los sitios web que alojan formularios o encuestas que requieren la entrada y el envío del usuario pueden emplear 307 redireccionamientos para manejar errores de validación, requisitos de autenticación o interrupciones temporales al tiempo que preservan los datos enviados por el usuario.

Plataformas de redes sociales: Las plataformas con contenido generado por el usuario, características de mensajería o elementos interactivos pueden beneficiarse de 307 redireccionamientos para mantener el contexto de la sesión, manejar cambios de recursos temporales o administrar procesos de autenticación sin interrumpir la experiencia del usuario.

307 Redirección temporal vs. 307 Redirección interna

El término "redirección interna 307" ha aparecido como otro tipo de redirección 307, específicamente vinculado al proceso de dirigir los navegadores desde la versión HTTP de un sitio a su versión HTTPS.

Si bien los navegadores como Chrome pueden informar la redirección de HTTP a HTTPS como una "redirección interna 307", la acción sugerida simplemente no existe.

El término "redirección interna" generalmente se refiere a un proceso del lado del servidor donde un Servidor web Redirige internamente una solicitud a otro recurso o ubicación dentro del mismo servidor, sin que el cliente (navegador) sea consciente de la redirección.Sin embargo, este concepto no está vinculado específicamente al código de estado 307;Puede aplicarse a varios códigos de estado HTTP, incluidos 307.

En pocas palabras, "307 Redirección temporal" y "Redirección interna 307" se refieren a lo mismo, pero no están asociados con la redirección de HTTP a HTTPS.

Las redireccionamientos de HTTP a HTTPS generalmente se implementan utilizando códigos de estado como 301 (movidos permanentemente) o 302 (encontrado), cuando corresponda.

301 redirección es el código de estado estándar utilizado para redirigir permanentemente el tráfico HTTP a HTTPS.

Diferencia entre 302, 303 y 307 redireccionamientos

302, 303 y 307 son los tres tipos de redireccionamientos temporales dentro del rango de código de estado 3xx, cada uno realizando una función distinta al procesar las solicitudes GET y publicar HTTP desde el cliente (navegador).

Esta sección se centrará en cómo un cliente típico respondería a cada tipo de respuesta de redirección temporal, específicamente después de hacer una solicitud posterior.

get-post-request-temporary-redirect-process.webp
¿Qué es una solicitud Get?

Los navegadores utilizan una solicitud GET para solicitar/recuperar una página web de un servidor web.Ya sea que un usuario desea visitar una página web, a través de un enlace, haga clic o ingrese una URL en la barra de direcciones, el navegador envía una solicitud GET al servidor web, pidiéndole que proporcione la página web especificada.

¿Qué es una solicitud de publicación?

Una solicitud de publicación ocurre cuando el usuario interactúa con una página web enviando datos, como un envío de formulario o carga de archivos, al servidor web.Luego, estos datos son procesados o almacenados por el servidor, lo que permite que la página web realice una acción específica basada en la entrada del usuario.

302 redirigir

Cuando un cliente (navegador) encuentra una respuesta 302 de un servidor web, sigue con una solicitud GET para acceder a la nueva URL proporcionada por el servidor.Esto sucederá independientemente de si la solicitud original del cliente era obtener o publicar.

Esto podría causar problemas si el cliente envió originalmente una solicitud de publicación.

Por ejemplo, si un usuario envía información, como un formulario de compra, utilizando una solicitud de publicación y el servidor responde con una redirección 302, el navegador enviará automáticamente una solicitud GET.Como resultado, la información de la solicitud de publicación original puede no llegar al servidor para su procesamiento.

303 redirigir

Una redirección 303 funciona de manera similar a una redirección 302 al pedirle al cliente que haga un seguimiento con el método GET independientemente del método de solicitud original.

Sin embargo, si la solicitud original es una solicitud posterior, una respuesta de redirección 303 requiere que el cliente solicite al usuario que confirme la solicitud de seguimiento antes de enviarla al servidor.

También como 302 redireccionamientos, el uso de 303 redirecciones para las páginas web de envío de datos (por ejemplo, rellenos de formulario y carga de archivos) podría dar lugar a datos fragmentados o perdidos.

307 Redirección

A diferencia de las redireccionamientos 302 y 303, 307 redirige preservan el método de solicitud original (obtener o publicar) después de la redirección.En pocas palabras, una solicitud de publicación se mantiene como una solicitud posterior y una solicitud GET se mantiene como una solicitud de obtención después de la redirección.

Esto hace que 307 redirige la mejor opción para el envío de datos a los servidores web, ya que garantiza tanto la transferencia segura como la entrega precisa de información del cliente al servidor.

4 formas de implementar 307 redireccionamiento

Existen varios métodos para implementar una redirección 307 a su sitio.El que funcione mejor para usted dependerá de su nivel de comodidad con la codificación y si está ejecutando o no un CMS (WordPress, Drupal, Joomla, etc.).

Independientemente del método que elija, asegúrese de crear primero una copia de seguridad de su sitio, o al menos el archivo en el que está trabajando.No podemos estresar el Importancia de la copia de seguridad de datos, especialmente cuando se trabaja dentro del archivo .htaccess.

Uso del archivo .htaccess

1. Acceda al archivo .htaccess en el directorio raíz de su sitio web.

2. Agregue la siguiente línea al archivo .htaccess:

Redirect 307 /old-page.html http://example.com/new-page.html

3. Reemplace /old-page.html con la URL anterior y http://example.com/new-page.html con la nueva URL.

4. Guarde los cambios en el archivo .htaccess y pruebe la redirección.

Uso de secuencias de comandos del lado del servidor (PHP)

1. Cree un nuevo archivo PHP (por ejemplo, redirect.php) en su servidor.

2. Agregue el siguiente código PHP al archivo:

<?php

header("HTTP/1.1 307 Temporary Redirect");

header("Location: http://example.com/new-page.html");

exit();

?>

3. Reemplace http://example.com/new-page.html con la URL a la que desea redirigir.

4. Guarde el archivo y cárguelo a su servidor.

5. Acceda al archivo en su navegador para asegurarse de que la redirección esté funcionando.

Uso de la configuración del servidor (host virtual Apache)

1. Acceda al archivo de configuración de su servidor (por ejemplo, httpd.conf o apache2.conf).

2. Agregue las siguientes líneas dentro del bloque apropiado <RirtualHost> o <Directory>:

Redirect 307 /old-page.html http://example.com/new-page.html

3. Guarde los cambios en el archivo de configuración y reinicie el servidor Apache para aplicar los cambios.

4. Pruebe la redirección accediendo a la URL antigua en su navegador.

Usando complementos

Para los sitios que utilizan un CMS (sistema de administración de contenido), como WordPress o Weebly, implementar 307 redireccionamientos es tan fácil como hacerlo a través de un complemento.

Encuentre un complemento que le guste, descárguelo y simplemente siga las instrucciones sobre cómo implementar la redirección 307.

Escrito por Hostwinds Team  /  marzo 29, 2024