307 Temporary Redirect

Repite la misma solicitud en otra URL.

Cuándo usarlo

Redirección temporal que debe conservar el método y el cuerpo.

A tener en cuenta

307 garantiza que el cliente repite el mismo método y el mismo cuerpo en la nueva URL, así que un POST sigue siendo un POST. Eso lo hace adecuado para mover temporalmente endpoints de una API. También verás un 307 “interno” en Chrome DevTools cuando HSTS está activo: el navegador cambia http:// por https:// por su cuenta, sin contactar con el servidor, y lo etiqueta como Non-Authoritative Reason: HSTS.

Los buscadores tratan 307 como temporal, igual que 302, y los navegadores no lo almacenan en caché sin cabeceras explícitas. Los cuerpos deben poder reenviarse: fetch con un cuerpo ReadableStream en streaming no puede seguir un 307 y falla. Los navegadores y curl eliminan la cabecera Authorization cuando una redirección pasa a otro host; curl solo la conserva con --location-trusted. Usa curl -L para seguirlo; el método se conserva automáticamente.

Redirección (3xx)

Los códigos 3xx son redirecciones: el cliente tiene que ir a otro sitio, o usar su copia en caché, para completar la solicitud.

Cómo se ve

HTTP/1.1 307 Temporary Redirect

Cómo enviarlo

Node.js / Expressres.redirect(307, '/new-url')
Python / Flaskreturn redirect('/new-url', code=307)
nginxreturn 307 https://example.com$request_uri;

Cómo comprobarlo

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Abrir Códigos de estado HTTP