¿Cuál es la diferencia entre Redirect()
y RedirectPermanent()
. Había leído algunos artículos, pero no entiendo cuándo debemos usar Redirect()
y RedirectPermanent()
. ¿Puede mostrar algunos ejemplos?
fuente
¿Cuál es la diferencia entre Redirect()
y RedirectPermanent()
. Había leído algunos artículos, pero no entiendo cuándo debemos usar Redirect()
y RedirectPermanent()
. ¿Puede mostrar algunos ejemplos?
La diferencia básica entre los dos es que RedirectPermanent
envía al navegador un HTTP 301
código de estado (Movido permanentemente) mientras Redirect
que enviará un HTTP 302
código de estado.
Úselo RedirectPermanent
si el recurso se ha movido de forma permanente y ya no será accesible en su ubicación anterior. La mayoría de los navegadores almacenarán en caché esta respuesta y realizarán la redirección automáticamente sin volver a solicitar el recurso original.
Úselo Redirect
si el recurso puede estar disponible en la misma ubicación (URL) en el futuro.
Ejemplo
Digamos que tiene usuarios en su sistema. También tiene la opción de eliminar usuarios existentes. Su sitio web tiene un recurso /user/{userid}
que muestra los detalles de un usuario determinado. Si el usuario ha sido eliminado, debe redirigirlo a la /user/does-not-exist
página. En este caso:
Si el usuario nunca se restaurará nuevamente, debe usarlo RedirectPermanent
para que el navegador pueda ir directamente a /user/does-not-exist
en solicitudes posteriores incluso si la URL apunta a /user/{userid}
.
Si el usuario se puede restaurar en el futuro, debe usar un archivo Redirect
.
RedirectPermanent
puede ser molesto durante la depuración porque la segunda vez que haga clic, la acción del controlador se omitirá y no se alcanzará ningún punto de interrupción en la función original si se redirige a otra parte. Eso es a menos que vacíe su caché antes de cada clic.RedirectPermanent
es 301 yRedirect
es el código de estado 302fuente
Envían diferentes códigos de respuesta al navegador. 301 es una redirección permanente, 302 una temporal. El efecto final es el mismo, pero si el cliente quiere indexar enlaces (el cliente más común que hace esto serán los motores de búsqueda) entonces un redireccionamiento permanente le dice al cliente que actualice sus registros para ignorar el enlace anterior y comenzar a usar el nuevo . Una redirección temporal le dice al cliente que la página se está redireccionando por ahora, pero no para eliminar el enlace anterior de su base de datos de indexación
fuente