¿Debe una solicitud POST renderizar HTML o redirigir?¿Debe una solicitud POST renderizar HTML o redirigir?
Odio cuando estás en una página y actualizas y haces que el navegador te lo diga, vas a publicar datos de nuevo.
¿Debe una solicitud POST renderizar HTML o redirigir?¿Debe una solicitud POST renderizar HTML o redirigir?
Odio cuando estás en una página y actualizas y haces que el navegador te lo diga, vas a publicar datos de nuevo.
Sí. ¡Debería enviar una entidad o redirigir!
(Lo siento, las viejas bromas de programación tienen que salir a veces).
Realmente depende de si puede darle algo a GET de manera significativa, que tiene sentido estar solo.
Ejemplo: compro algo, obtengo una página que dice "gracias, yadda yadda número de pedido, recibo, yadda".
Debería ser un 303 Ver Otro redireccionamiento, por lo que OBTENGO una página con esa información. Puedo marcarlo para más tarde, actualizar refresca el GET. Días felices.
Hay momentos en los que, cuando solo tiene sentido dar una respuesta inmediata, y si se actualizan, entonces repetir la operación real, y los marcadores no tienen sentido. Eso no debería ser una redirección.
En su mayor parte, pretenden tener el menor número posible de estos últimos. Aunque es más útil si tiene que devolverlos al formulario porque algo falló: nadie quiere un marcador de un formulario fallido, quiere arreglar lo que debe arreglarse y seguir con él.
Tenga en cuenta que muchos sistemas del lado del servidor (ASP, etc.) usan 302 cuando se redirige de un POST, lo que significa estrictamente que POSTS de nuevo, pero casi ningún navegador lo hace. En su lugar, ser más claro:
Sí, es una buena práctica usar redirect after POST para evitar esto.
presentación de formularios duplicados se produciría si el usuario hace clic en el botón volver atrás en el navegador. – towry
Grandes detalles y, en general, buena información. –