Non-SEO перенаправление внешней ссылки: Код статуса? - PullRequest
2 голосов
/ 17 марта 2010

Я прочитал несколько документов о достоинствах различных кодов состояния перенаправления HTTP, но все они были очень ориентированы на SEO. Теперь у меня есть проблема, когда поисковые системы не учитывают это, потому что данный раздел сайта не доступен для публичного просмотра.

Однако мы хотим, чтобы наш веб-сайт был максимально точным / полезным с метаданными, особенно по причинам доступности.

Теперь наше приложение берет внешние ссылки, предоставленные третьими сторонами, и направляет их через страницу против спуфинга с заявлением об отказе. Поскольку эта страница перенаправителя также может быть эффективно внедрена посредством вызова Ajax в определенных созвездиях, мы также хотим убрать любые параметры запроса от реферера (в целях конфиденциальности; целевой сайт не имеет никакого дела, чтобы выяснить, на какой внутренней странице был пользователь ранее) .

Для этого кнопка подтверждения запускает серверный скрипт, который, в свою очередь, перенаправляет (а не просто открывает страницу для пользователя).

Так же, как и то, почему наша страница с антиспуфинговым отказом от ответственности приводит к срабатыванию перенаправления.

Вопрос:

Эффективно ли имеет значение, какой код статуса я использую? Заботятся ли нестандартные браузеры (например, программы чтения с экрана)? Если это так, что является лучшей практикой для таких перенаправлений? Наиболее семантически звучат, если вы так будете? Все они кажутся мне неискренними.

Я имею в виду 302 - но поскольку нет смысла пытаться добавить страницу в закладки (она защищена токеном crsf), значит, в 301 нет никакого вреда, не так ли? Поэтому мне интересно, есть ли причина, по которой я предпочитаю одно другому.

1 Ответ

3 голосов
/ 17 марта 2010

Хм. Вот список. 301 звучит хорошо (выделено мое):

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

302 не соответствует моему мнению:

Запрашиваемый ресурс временно находится под другим URI

Однако, мой любимый 303 see other:

Ответ на запрос можно найти под другим URI и ДОЛЖЕН быть получен с помощью метода GET для этого ресурса . Этот метод существует главным образом, чтобы позволить выводу сценария, активированного POST, перенаправить пользовательский агент на выбранный ресурс. Новый URI не является заменой ссылки на первоначально запрошенный ресурс.

Но это может быть настолько редко (я никогда не видел, чтобы оно использовалось в дикой природе), что некоторые клиенты могут не понять его - что может привести к вашему стремлению к максимальной совместимости. 301, вероятно, самый близкий выбор.

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