Redirect()
和 RedirectPermanent()
之间有什么区别。我读过一些文章,但我不明白什么时候必须使用 Redirect()
和 RedirectPermanent()
。你能举个例子吗?
最佳答案
两者之间的基本区别在于,RedirectPermanent
向浏览器发送 HTTP 301
(永久移动)状态代码,而 Redirect
将发送HTTP 302
状态代码。
如果资源已永久移动且无法再在其先前位置进行访问,请使用RedirectPermanent
。大多数浏览器会缓存此响应并自动执行重定向,而无需再次请求原始资源。
如果资源将来可能在同一位置 (URL) 中可用,请使用重定向
。
示例
假设您的系统中有用户。您还可以选择删除现有用户。您的网站有一个资源 /user/{userid}
,它显示给定用户的详细信息。如果用户已被删除,您必须重定向到 /user/does-not-exist
页面。在这种情况下:
如果用户将永远再次恢复,您应该使用RedirectPermanent
,以便浏览器可以直接转到/user/does-not-exist
code> 在后续请求中,即使 URL 指向 /user/{userid}
。
如果用户将来可能会恢复,您应该使用常规的重定向
。
关于asp.net-mvc - ASP.NET MVC 中的 Redirect() 与 RedirectPermanent(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17517318/