Какой Http перенаправляет код состояния для использования? - PullRequest
3 голосов
/ 12 ноября 2009
  • friendfeed.com использует 302.
  • bit.ly использует 301.

Я решил использовать 303.

Они ведут себя по-разному с точки зрения поддержки браузерами?

Ответы [ 5 ]

4 голосов
/ 12 ноября 2009

Это зависит от вашей цели.

301 говорит: «это неправильный URL, посмотрите в другом месте и используйте помните, что другой URL лучше; не возвращайся сюда! ».

302 говорит, что «это правильный URL, который вы должны продолжать использовать, но для того, чтобы контент выглядел в другом месте».

303 аналогично 302, но специально для перенаправлений после отправки формы.

Если ваша цель - сокращение URL-адреса, то 303 на самом деле не имеет значения. Это все еще будет работать, но ничего не предлагает по сравнению с обычным 302. Для сокращения URL я бы сказал, что 301 будет наиболее подходящим, поскольку другой URL является «реальным». Утверждение 302 пытается сохранить право собственности на адрес и любой импульс SEO, вызванный его использованием, для себя: немного грубо, но, возможно, вы хотите быть грубым.

2 голосов
/ 12 ноября 2009

Прочитайте http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html для ответа.

10.3.2 301 постоянно перемещено

Запрошенному ресурсу был назначен новый постоянный URI, и любые будущие ссылки на этот ресурс ДОЛЖНЫ использовать один из возвращенных URI. Клиенты с возможностями редактирования ссылок должны автоматически связывать ссылки на Request-URI с одной или несколькими новыми ссылками, возвращаемыми сервером, где это возможно. Этот ответ кэшируется, если не указано иное.

10.3.3 302 Найдено

Запрашиваемый ресурс временно находится под другим URI. Поскольку перенаправление может иногда изменяться, клиент ДОЛЖЕН продолжать использовать Request-URI для будущих запросов. Этот ответ может быть кэширован, только если он указан в поле заголовка Cache-Control или Expires.

2 голосов
/ 12 ноября 2009

Разные коды состояния имеют разные значения. Спецификация HTTP описывает их: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

301 - перемещено навсегда (и изменить

302 - найдено здесь

303 - найдите здесь свой ответ, но используйте GET, даже если вы начали с POST

Если мы возьмем, например, фид Atom, URL которого по какой-то причине изменился (возможно, он перемещается в Amazon S3 или что-то в этом роде). Учитывая результат 301, читатель канала должен отметить, что канал перемещен, и обновить свою подписку. Получив 302, он получит фид из своего нового местоположения, но попадет на исходный сервер в поисках исходного URI каждый раз, когда проверяет наличие обновлений. (И 303 было бы глупо в этой ситуации).

1 голос
/ 12 ноября 2009

Ознакомьтесь с определениями кода состояния HTTP 1.1 . Разные коды состояния подразумевают разные значения и, следовательно, поощряют различное поведение. Попробуйте использовать код, который наилучшим образом соответствует вашему варианту использования.

0 голосов
/ 12 ноября 2009

301 для постоянного перенаправления, и если это то, что вы хотите сделать, то это рекомендуется всеми экспертами SEO.

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