Перенаправление() против постоянную переадресацию() в ASP.NET в MVC



в чем разница между Redirect() и RedirectPermanent(). Я читал некоторые статьи, но я не понимаю, когда мы должны использовать Redirect() и RedirectPermanent(). Можете ли вы показать кусочки примера.

608   3  

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

    Ничего не найдено.