3 ответов:
основное различие между ними заключается в том, что
RedirectPermanentотправляет браузерHTTP 301(перемещено постоянно) код состояния, тогда какRedirectпошлетHTTP 302код состояния.использовать
RedirectPermanentЕсли ресурс был перемещен навсегда и больше не будут доступны в прежнем месте. Большинство браузеров будут кэшировать этот ответ и выполнять перенаправление автоматически, не запрашивая исходный ресурс снова.использовать
Redirectесли ресурс может быть доступен в том же месте (URL) в будущем.пример
предположим, что у вас есть пользователи в системе. У вас также есть возможность удалить существующих пользователей. У вашего сайта есть ресурс
/user/{userid}который отображает сведения о данном пользователе. Если пользователь был удален, необходимо перенаправить на/user/does-not-existстраница. В этом случае:если пользователь будет никогда быть восстановлены снова, вы должны использовать
RedirectPermanentТак что браузер может перейти непосредственно к/user/does-not-existв последующих запросах, даже если URL указывает на/user/{userid}.если пользователь может быть удален в будущем, вы должны использовать обычный
Redirect.
RedirectPermanent- это 301 иRedirectэто 302 код состояния
они посылают различные коды ответа в браузер. 301-это постоянный редирект, 302-временный. Конечный эффект тот же, но если клиент хочет индексировать ссылки (чаще всего клиента, что это будут поисковые системы), то постоянный редирект говорит клиент, чтобы обновить свои записи, чтобы игнорировать старую ссылку и начать использовать новый. Временное перенаправление сообщает клиенту, что страница перенаправляется на данный момент, но не для удаления старой ссылки из своей базы данных индексирования
Comments