Могу ли я использовать пересылку вместо перенаправления для эффективности? - PullRequest
0 голосов
/ 26 июня 2019

Я прочитал разницу между пересылкой и перенаправлением.

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

Извините за наивный вопрос, но мне показалось, что, поскольку перенаправление возвращается в браузер, а браузер выдает новый запрос, пересылка кажется более эффективной.Так что мне было интересно, зачем вообще использовать перенаправление, когда такая же цель достигается с помощью пересылки, которая более эффективна?Существуют ли ситуации, когда правильная вещь - это перенаправление, а не пересылка.Спасибо за помощь!

1 Ответ

2 голосов
/ 26 июня 2019

Основным отличием здесь является то, что браузер «трогается» при перенаправлении (уже упоминалось).

Это легко продемонстрировать на примере использования логина.

Пользователь получает страницу /login и отправляет форму входа на номер /doLogin, в результате чего отображается его страница /profile. Действие входа подтверждает ввод пользователя.

Здесь возникает критическое различие: если действие выполняет операцию forward, то пользователь увидит /doLogin в окне URL-адреса. Вот почему действие должно выполнить redirect, чтобы пользователь увидел /profile в поле URL-адреса И чтобы браузер мог правильно обрабатывать обратную навигацию.

Для других действий, не требующих изменения состояния, которые следует учитывать в истории браузера, вы можете использовать forward.

...