在ASP.NET MVC中重定向()vs RedirectPermanent()有什么区别?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

Redirect()和之间有什么区别RedirectPermanent()。我曾阅读过一些文章,但我不明白我们何时必须使用Redirect()RedirectPermanent()。你能展示一些例子吗?

提问于
用户回答回答于

两者之间的基本区别在于,RedirectPermanent向浏览器发送HTTP 301(永久移动)状态码,而Redirect发送HTTP 302状态码。

使用RedirectPermanent如果资源已被永久删除,将不再是先前的位置访问。大多数浏览器都会缓存此响应并自动执行重定向,而无需再次请求原始资源。

Redirect如果将来可能在相同位置(URL)中提供资源,请使用此选项。

假设系统中有用户。还可以选择删除现有用户。网站有一个资源/user/{userid},显示给定用户的详细信息。如果用户已被删除,则必须重定向到该/user/does-not-exist页面。在这种情况下:

如果用户永远不会恢复,则应该使用,RedirectPermanent以便/user/does-not-exist即使URL指向,浏览器也可以直接进入后续请求/user/{userid}

如果用户未来可能未被删除,则应使用常规Redirect

用户回答回答于

扫码关注云+社区