El recurso está temporalmente en otra URL.
Cuándo usarlo
Redirecciones de corta duración. Los clientes pueden cambiar POST por GET; mejor usa 303 o 307 para ser explícito.
A tener en cuenta
Usa 302 cuando la URL original vaya a volver: una página de mantenimiento temporal, una prueba A/B, una redirección al inicio de sesión o la selección de idioma. Los buscadores mantienen indexada la URL original, aunque Google empieza a tratar como permanente un 302 que se mantiene durante meses. Los navegadores no almacenan en caché un 302 a menos que Cache-Control o Expires lo indiquen, lo que lo convierte en la opción segura mientras sigues probando redirecciones.
Históricamente, los navegadores reescriben un POST como GET al seguir un 302 y descartan el cuerpo, y la especificación ahora lo permite. Si el método debe conservarse, usa 307; después de enviar un formulario, usa 303 para ser explícito. Un error habitual es un bucle de redirecciones entre http y https, o entre www y el dominio sin www, a menudo causado por un proxy o por el Flexible SSL de Cloudflare. Sigue la cadena con curl -IL.
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 302 FoundCómo enviarlo
| Node.js / Express | res.redirect(302, '/new-url') |
|---|---|
| Python / Flask | return redirect('/new-url', code=302) |
| nginx | return 302 https://example.com$request_uri; |
Cómo comprobarlo
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/