В чем разница между 301 и 302 в HTTP?

Ответы:

12

Статус 301 (постоянно перемещенный) означает, что ресурс был постоянно перемещен в новое местоположение. В будущем клиент (браузер) должен использовать новое местоположение вместо старого.

Статус 302 (найдено) означает, что ресурс временно находится в другом месте. Клиент должен использовать данное местоположение для текущего запроса, но в будущем должен продолжать использовать старое местоположение.

Оба кода состояния приведут к тому, что браузер выполнит перенаправление. Вы должны выбрать статус 301 или 302 в зависимости от того, является ли перенаправление постоянным или временным.

Дополнительную информацию об этих кодах ответов HTTP можно найти в RFC 2616 .

Фил Росс
источник
Что делать, если я хочу отменить 301? Это из-под контроля, так как он больше не используется?
vps
@vps Вы можете отменить перенаправление 301, но нет гарантии, что клиент повторно запросит исходный URL. Если вы хотите иметь возможность отменить перенаправление в будущем, тогда вам лучше использовать 302.
Фил Росс
3

Когда паук поисковой системы находит код статуса 301 в заголовке ответа веб-страницы, он понимает, что эта веб-страница больше не существует, он ищет заголовок местоположения в ответ, выбирает новый URL и заменяет проиндексированный URL на новый, а также передает pagerank ,

Таким образом, поисковая система обновляет все проиндексированные URL-адреса, которые больше не существуют (найдено 301), с помощью нового URL-адреса, при этом трафик вашей старой веб-страницы будет сохранен, поиск страницы и переадресация его на новый (вы не потеряете трафик старой веб-страницы).

Браузер: если браузер находит код состояния 301, он кэширует сопоставление старого URL-адреса с новым URL-адресом, клиент / браузер не будет пытаться запросить исходное местоположение, а будет использовать новое местоположение с этого момента, пока не будет удален кэш.

Когда паук поисковой системы обнаруживает статус 302 для веб-страницы, он только временно перенаправляет на новое местоположение и сканирует обе страницы, старый URL-адрес веб-страницы все еще существует в базе данных поисковой системы, и он всегда пытается запросить старое местоположение и сканировать его, клиент / браузер по-прежнему будет пытаться запросить исходное местоположение.

Узнайте больше о том, как реализовать это в asp.net c # и как это повлияет на поисковую систему - http://www.dotnetbull.com/2013/08/301-permanent-vs-302-tevent-status-code- САШ-CSharp-Implementation.html

Рохит
источник
0

Они разные в SEO.

Для 302 Google сохранит URL перенаправителя и будет указывать на него пользователей.

Также (для tinyurl) использование 302 позволяет изменить перенаправление, например, в случае спама (см. Пример http://tinyurl.com/nospam.php?id=amgzs6 ). Использование 301 усложняет изменение перенаправления

osgx
источник