3xx · Redirecciones
Código HTTP 303 See Other: qué significa
El código 303 See Other indica al cliente que debe pedir otra URL con el método GET. Es la respuesta ideal después de procesar un formulario (patrón Post/Redirect/Get): evita que al recargar la página el navegador vuelva a enviar el formulario.
Qué significa el código 303
Sin este patrón, si el usuario envía un formulario de compra y luego pulsa F5, el navegador pregunta si quiere reenviar los datos, con el riesgo de duplicar el pedido. Con 303 tras el POST, la página que ve el usuario es un GET normal y recargar no repite nada.
Cuándo aparece
- Formularios y APIs que implementan Post/Redirect/Get.
Qué tener en cuenta
- Usa 303 tras un POST que modifica datos, en lugar de devolver directamente el HTML del resultado.
Configuración y comandos
FastAPI
python
from fastapi.responses import RedirectResponse
@app.post("/contacto")
async def contacto(...):
await guardar_mensaje(...)
return RedirectResponse("/contacto/gracias", status_code=303)Ejemplo de respuesta
http
HTTP/1.1 303 See Other
Location: /pedidos/1234Herramientas para comprobarlo
Preguntas frecuentes
¿Google indexa la URL de destino de un 303?
Los 303 se usan tras peticiones POST, que los buscadores no hacen, así que en la práctica no afectan al SEO.