La differenza tra Redirect()
e RedirectPermanent()
. Ho letto alcuni articoli, ma non capisco quando dobbiamo usare Redirect()
e RedirectPermanent()
. Puoi mostrare un esempio.Redirect() vs RedirectPermanent() in ASP.NET MVC
risposta
La differenza fondamentale tra i due è che RedirectPermanent
invia un browser HTTP 301
(Spostato in modo permanente) codice di stato che Redirect
invierà un codice di stato HTTP 302
.
Utilizzare RedirectPermanent
se la risorsa è stata spostata in modo permanente e non sarà più accessibile nella posizione precedente. La maggior parte dei browser memorizza nella cache questa risposta ed esegue automaticamente il reindirizzamento senza richiedere nuovamente la risorsa originale.
Utilizzare Redirect
se la risorsa potrebbe essere disponibile nella stessa posizione (URL) in futuro.
Esempio
Diciamo che avete gli utenti nel sistema. Hai anche un'opzione per eliminare gli utenti esistenti. Il tuo sito web ha una risorsa /user/{userid}
che visualizza i dettagli di un determinato utente. Se l'utente è stato cancellato, è necessario reindirizzare alla pagina /user/does-not-exist
. In questo caso:
Se l'utente mai essere ripristinato di nuovo, si dovrebbe usare RedirectPermanent
modo il browser può passare direttamente a /user/does-not-exist
nelle richieste successive, anche se l'URL punta a /user/{userid}
.
Se l'utente potrebbe non essere cancellato in futuro, è necessario utilizzare un normale Redirect
.
RedirectPermanent
è 301 e Redirect
è 302 codice di stato
Per riferimento, i browser potrebbero ricordare il 301 e non raggiungere mai l'URL originale se lo desiderano, mentre un 302 indica che dovrebbero ricontrollare ogni volta se il reindirizzamento è ancora lì. Le implementazioni effettive possono naturalmente variare, ma questo è l'intento dietro 301 e 302 –
Invia codici di risposta diversi al browser. 301 è un reindirizzamento permanente, 302 a uno temp. L'effetto finale è lo stesso, ma se il cliente vuole indicizzare i link (il client più comune che fa questo sarà motori di ricerca), un reindirizzamento permanente dice al client di aggiornare i suoi record per ignorare il vecchio link e iniziare a usare quello nuovo . Un reindirizzamento temporaneo dice al client che la pagina sta reindirizzando per ora, ma non per eliminare il vecchio collegamento dal suo database di indicizzazione
- 1. ASP.NET MVC: return Redirect e ViewData
- 2. ASP.NET MVC vs Spring MVC
- 3. Spring MVC vs ASP.NET (MVC?)
- 4. ASP.NET MVC vs. ASP.NET 4.0
- 5. ASP.NET AJAX vs jQuery in ASP.NET MVC
- 6. ASP.NET e C# Redirect
- 7. MVC redirect per instradare
- 8. ASP.NET MVC Session vs Global vs Cache
- 9. ASP.Net vs MVC vs WebAPI e UseTaskFriendlySynchronizationContext
- 10. ASP.NET MVC: ActionLink vs url
- 11. Python Django vs ASP.NET MVC
- 12. Redirect asp.net mvc se viene generata un'eccezione personalizzata
- 13. ASP.NET MVC e Angularjs vs ASP.NET MVC e Reactjs
- 14. ASP.NET MVC ViewResult vs PartialViewResult
- 15. Asp.Net Mvc: ContentResult vs. stringa
- 16. Passaggio parametri in vista redirect Spring MVC
- 17. ASP.net MVC View's Model vs ViewData.Model?
- 18. ASP.NET MVC: routing url vs querystring
- 19. Webforms Vs Asp.Net MVC VS2010 LoadTest
- 20. asp.net MVC Web API VS asp.net MVC 4 e applicazione Internet MVC 3
- 21. ASP MVC Redirect senza cambiare l'URL (routing)
- 22. Come faccio il OPPOSTO di [RequireHttps (Redirect = true)] in ASP.NET MVC
- 23. Qual è la differenza tra Redirect e RedirectToAction in ASP.NET MVC?
- 24. MessageHandlers vs Filters in asp.net mvc web api project
- 25. piatto vs classi nidificate ViewModel in ASP.NET MVC
- 26. asp.net mvc formcollection
- 27. Asp.Net MVC FormsAuthenticationTicket
- 28. Come utilizzo Application_Error in ASP.NET MVC?
- 29. Passing informazioni tra controller in ASP.Net MVC-
- 30. Rappresentazione in ASP.NET MVC
http://stackoverflow.com/questions/1393280/http-redirect-301-vs-302-permanent-vs-temporary – user1778606
Grazie, è una buona risposta . Mi aiuta! – IFrizy