blog webempresa

¿Qué es la redirección temporal HTTP 307 y cuándo usarlo?

por | Feb 6, 2025 | Códigos HTTP

En el mundo del desarrollo web, las redirecciones HTTP juegan un papel fundamental en la gestión del tráfico y la experiencia del usuario. Ya sea por mantenimiento, migraciones de contenido o cambios estructurales en un sitio web, estas redirecciones permiten enviar a los visitantes a la ubicación correcta sin afectar la navegación. Entre las diferentes opciones disponibles, la redirección 307 es una de las menos conocidas, pero cumple una función clave cuando se necesita un cambio temporal sin alterar la estructura de las solicitudes originales.

El código de estado HTTP 307 es una redirección temporal que indica que la URL solicitada ha cambiado de manera provisional y que, en futuras solicitudes, el cliente (navegador o motor de búsqueda) debe seguir utilizando la URL original. A diferencia de otras redirecciones como la 302, que también es temporal, la redirección 307 garantiza que el método de la solicitud (GET o POST) se mantenga sin modificaciones, lo que la hace ideal para formularios de WordPress o peticiones que dependen de la integridad de los datos enviados.

Exploraremos en profundidad qué es la redirección 307, cómo funciona, en qué se diferencia de otras redirecciones como la 302 y la 303, y en qué casos es recomendable utilizarla. También analizaremos su impacto en la auditoria SEO y cómo configurarla de forma correcta en el CMS WordPress y otros entornos web.

¡Empecemos!

¿Qué es la redirección temporal HTTP 307?

La redirección 307 es un código de estado HTTP que indica que una URL ha cambiado de forma temporal, pero que la solicitud original debe mantenerse sin alteraciones. A diferencia de otras redirecciones temporales, como la 302, la redirección 307 garantiza que el navegador o cliente que realiza la solicitud preserve el método HTTP original (GET, POST, PUT, DELETE, etc.), lo que la hace ideal en situaciones donde la integridad de la solicitud es clave.

Cuando un servidor web envía un código 307, indica que el recurso está de forma temporal en otra dirección, pero la URL original debe seguir usándose en futuras solicitudes. Esto la convierte en una opción ideal para escenarios donde se necesita mover contenido de forma temporal sin afectar la estructura del sitio o la navegación del usuario.

update
update

Por ejemplo, si un usuario envía un formulario con datos importantes a través de una solicitud POST, una redirección 302 podría cambiar el método a GET, alterando la forma en que el servidor procesa la información. Sin embargo, con una redirección 307, se mantiene el método POST, asegurando que la información enviada no se pierda ni se modifique durante la redirección.

La redirección 307 también se usa en HTTPS, donde los navegadores web la aplican para asegurar que todas las solicitudes se hagan de forma segura y evitar conexiones HTTP inseguras. A continuación, veremos cómo funciona esta redirección, en qué se diferencia de los códigos 302 y 303, y cuándo usarla para mejorar la navegación y seguridad del sitio.

¿Cómo funciona la redirección 307?

Para entender cómo funciona la redirección 307, primero debemos recordar que cada vez que accedemos a una página web, nuestro navegador envía una solicitud al servidor para obtener el contenido. En algunos casos, el servidor responde con una redirección, indicando que el recurso solicitado ha sido movido a una nueva ubicación.

Cuando el servidor devuelve un código de estado HTTP 307, está diciendo al navegador que la página o el recurso solicitado ha cambiado de ubicación de forma temporal, pero que en futuras solicitudes se debe seguir utilizando la URL original. Lo más importante de esta redirección es que mantiene el método de la solicitud original, lo que significa que si la petición fue un POST, seguirá siendo un POST, y si fue un GET, seguirá siendo un GET.

Por ejemplo, si estamos enviando un formulario con información importante a través de un POST, una redirección incorrecta podría convertirlo en un GET, alterando la forma en que el servidor procesa los datos. La redirección 307 evita este problema al asegurarse de que la solicitud se reenvíe como fue enviada en un inicio.

planillas web

Imaginemos que tenemos una tienda en línea y estamos realizando mantenimiento en la página de pago. No queremos que los clientes pierdan sus transacciones mientras solucionamos el problema, así que configuramos una redirección 307 para enviar de forma temporal a los compradores a una página de espera sin modificar la información de su compra.

El flujo sería el siguiente:

  • El usuario intenta acceder a https://mi-tienda.com/checkout.
  • El servidor detecta que la página de pago está en mantenimiento y responde con un código de estado 307, redirigiendo temporalmente a https://mi-tienda.com/mantenimiento.
  • Como la redirección 307 mantiene el método de la solicitud original, si el usuario intentaba completar un pago con una solicitud POST, esta seguirá siendo POST cuando se procese en la URL final.

La redirección 307 también se usa en HTTPS, donde los navegadores la aplican para asegurar que todas las solicitudes pasen por una conexión segura, redirigiendo de HTTP a HTTPS sin cambiar la solicitud.

Diferencia entre la redirección 307 y 302

Cuando hablamos de redirecciones temporales, las dos opciones más comunes son la redirección 307 y la redirección 302. Ambas cumplen el mismo propósito básico: indicar que una URL ha cambiado de manera temporal y que el navegador debe usar la URL original en futuras solicitudes. Sin embargo, hay una diferencia clave entre ellas que puede afectar el funcionamiento de un sitio web, en especial en formularios y solicitudes específicas.

La redirección 302 es una de las más antiguas y utilizadas, pero tiene un problema: no garantiza que el navegador mantenga el método de la solicitud original. Si una solicitud POST se redirige con un código 302, algunos navegadores pueden cambiarla a GET, lo que podría causar pérdida de datos en formularios o procesos clave.

Por otro lado, la redirección 307 resuelve este problema al asegurar que el método de la solicitud se mantenga intacto. Es decir, si el usuario envía un formulario mediante POST, la redirección 307 garantizará que la nueva URL también reciba la solicitud como POST, sin alteraciones.

Aprovado

Si una tienda en línea está en mantenimiento en su página de productos más vendidos (https://mi-tienda.com/mas-vendidos), puede redirigir de forma temporal a los usuarios a una versión en construcción (https://mi-tienda.com/mantenimiento) para no perder tráfico.

  • Si usamos una redirección 302, la mayoría de los navegadores solo enviarán al usuario a la nueva URL sin preocuparse por la estructura original de la solicitud.
  • Si usamos una redirección 307, cualquier acción que los usuarios hubieran ejecutado en la página original, como agregar productos al carrito, se mantendrá sin alteraciones al acceder a la nueva ubicación temporal.

Si bien ambas redirecciones son temporales y no afectan la URL original a largo plazo, la redirección 307 es la mejor opción cuando se requiere mayor precisión en el manejo de solicitudes HTTP.

¿Cuándo usar la redirección HTTP 307?

La redirección 307 es una opción ideal cuando se necesita mover de forma temporal un recurso sin modificar el método de la solicitud original. Esto la hace en especial útil en situaciones donde la integridad de los datos y las interacciones del usuario son clave.

Migraciones temporales de contenido sin alterar las funciones

Si un sitio web necesita reubicar una página de forma temporal, pero sin afectar cómo se procesan las solicitudes de los usuarios en WordPress, una redirección 307 es la mejor opción. Esto puede ser útil cuando se está rediseñando una sección del sitio y se necesita enviar tráfico a una versión provisional sin cambiar la URL original en futuras visitas.

Protección de formularios y procesos de autenticación

En sistemas donde los usuarios envían información a través de formularios o realizan inicios de sesión, una redirección incorrecta podría alterar la forma en la que se transmiten los datos. La redirección 307 se asegura de que estos procesos sigan funcionando sin pérdida de información.

velocidad

Peticiones API en aplicaciones web o móviles

Si una app móvil o una API cambia de forma temporal la dirección de sus solicitudes, la redirección 307 asegura que las peticiones POST, PUT o DELETE se envíen sin modificaciones, sin convertirse en GET.

Redireccionamiento interno en sitios HTTPS

Algunos navegadores aplican una redirección 307 interna cuando detectan que un sitio web redirige de HTTP a HTTPS. Este mecanismo ayuda a garantizar que todas las solicitudes se realicen de forma segura sin afectar la experiencia del usuario.

Balanceo de carga en servidores

En sistemas que reparten tráfico entre servidores, la redirección 307 puede enviar de forma temporal las solicitudes a otro servidor mientras se hacen ajustes o mantenimiento.

Hacer una redirección 307

Implementar una redirección 307 es un proceso sencillo y puede hacerse de varias maneras según el tipo de servidor o la plataforma que estemos utilizando. Como es una redirección temporal, debemos configurarla bien para evitar confusiones en los buscadores y asegurar que el tráfico se gestione de forma correcta sin afectar la experiencia del usuario.

Redirección 307 en .htaccess

 

Si nuestro sitio web está alojado en un servidor Apache, podemos configurar una redirección 307 de forma directa en el archivo .htaccess. Este archivo es utilizado para definir reglas en la gestión del tráfico y puede ser editado desde el administrador de archivos de nuestro hosting por medio de wepanel o a través de FTP.

Para hacer una redirección temporal en Apache, agregamos la siguiente línea en el archivo .htaccess:

Redirect 307 /pagina-antigua https://midominio.com/pagina-nueva

En este ejemplo, cualquier usuario que intente acceder a /pagina-antigua será enviado de forma temporal a https://midominio.com/pagina-nueva, pero en futuras solicitudes, el navegador seguirá intentando cargar la URL original.

Otro código alternativo que podemos utilizar es el siguiente:

RewriteRule ^ejemplo-pagina\.html$ /nueva-pagina.html [R=307,L]

Una diferencia con el anterior es que este Indica que será ejecutado como última regla que debe procesarse si la condición se cumple (evita que otras reglas adicionales en .htaccess interfieran).

Redirección 307 en WordPress con un plugin

 

Si no queremos modificar archivos del servidor, podemos hacer una redirección 307 de forma sencilla en WordPress con un plugin como Redirection o 301 Redirects. Estos plugins permiten gestionar redirecciones desde el dashboard de WordPresss sin necesidad de tocar código.

Para hacerlo en Redirection:

  • Instalamos y activamos el plugin desde Plugins > Añadir nuevo en WordPress.
  • Vamos a Herramientas > Redirection y agregamos una nueva redirección.
  • En el campo URL de origen, ingresamos la página que queremos redirigir.
  • En URL de destino, ingresamos la nueva ubicación.
  • En el tipo de redirección, seleccionamos 307 – Redirección Temporal y guardamos los cambios.
redirection plugin

Si optamos por utilizar el plugin de 301 Redirects, los pasos no cambian mucho, en la gran mayoría de plugins los pasos se mantienen en lo que respecta a la gestión o creación de la redirección. Solo cambiaria el menú al cual tendremos que acceder para crearla.

Para hacerlo en 301 Redirects:

  • Instalamos y activamos el plugin desde Plugins > Añadir nuevo en WordPress.
  • Vamos a Ajustes > 301 Redirects y agregamos una nueva redirección.
  • En el campo URL de origen, ingresamos la página que queremos redirigir.
  • En URL de destino, ingresamos la nueva ubicación.
  • En el tipo de redirección, seleccionamos 307 – Redirección Temporal y guardamos los cambios.
301 redirection plugin

Conclusiones

La redirección 307 es una herramienta esencial para gestionar cambios temporales en una web sin comprometer la estructura original de las solicitudes. A diferencia de la redirección 302, la 307 mantiene el método HTTP original, por lo que es ideal para formularios, solicitudes, API, autenticación y otras acciones que dependen de datos específicos.

Su implementación es flexible y puede realizarse de varias maneras, ya sea a través de .htaccess, redirecciones en WordPress con plugins o mediante código en aplicaciones web. Usarlo de forma correcta permite redirigir tráfico sin afectar la experiencia del usuario ni el funcionamiento del sitio.

La redirección 307 es útil para cambios temporales, pero si una página se mueve de forma permanente, es mejor usar una redirección 301 para evitar confusiones en los buscadores y mantener el SEO. Con su correcto e implementación, aseguramos que tanto usuarios como motores de búsqueda sean guiados de forma adecuada sin interrupciones en la navegación.

¿Te ha resultado útil este artículo?

Promo hosting febrero 2025