我可以使用转发而不是重定向来提高效率吗?

时间:2019-06-26 05:22:28

标签: grails grails-2.2

我已经阅读了转发和重定向之间的区别。

http://grails.asia/grails-redirect-vs-forward

很抱歉,这个问题很幼稚,但在我看来,由于重定向返回到浏览器并且浏览器发出新请求,因此转发似乎更有效。所以我想知道为什么在通过使用更有效的forward实现相同目的时完全使用重定向?在某些情况下,使用的正确方法是重定向而不是转发。感谢帮助!

1 个答案:

答案 0 :(得分:2)

这里的主要区别是浏览器在重定向中被“触摸”(已经提到)。

很容易在登录用例中进行演示。

用户获得一个/login页面并向/doLogin提交登录表单,这将显示其/profile页面。登录操作将验证用户输入。

关键区别在于:如果该操作执行forward操作,则用户将在url框中看到/doLogin。这就是为什么该操作应执行redirect,以便用户在URL框中看到/profile并且浏览器可以正确处理反向导航的原因。

对于不需要在浏览器历史记录中进行任何状态更改的其他操作,可以使用forward