我读了向前和重定向之间的差异。
http://grails.asia/grails-redirect-vs-forward
对不起这个天真的问题,但在我看来,由于重定向回到浏览器和浏览器发出新请求,因此前进似乎更有效。因此,我想知道为什么通过使用更有效的向前实现相同的目的时,为什么完全使用重定向?是否存在正确使用的正确用途是重定向而不是向前。感谢帮助!
这里的主要区别是浏览器在重定向中"触摸"(已经提到(。
很容易为登录用例演示。
用户获取/login
页面并向/doLogin
提交登录表单,这导致显示其/profile
页面。登录操作验证用户输入。
这是关键的区别:如果操作执行forward
操作,则用户将在URL-Box中看到/doLogin
。这就是为什么操作应执行redirect
的原因,以便用户在URL-box中看到/profile
,以便浏览器可以正确处理反向电源。
对于不需要任何状态更改的其他动作,应在浏览器历史记录中考虑的任何状态更改,您可以使用forward
。