Действительно ли HTTP 404 подходит для из номера страницы диапазона на разбитом на страницы содержании?

У меня есть сайт, который главным образом показывает разбитый на страницы список содержания (статьи, элемент данных, и т.д.), и я задаюсь вопросом о возврате HTTP 404, когда пользователь перешел за пределами диапазона списка готовности (например, рукой отредактировал URL).

Некоторые сайты просто не отображают "Результатов/Номера страницы из диапазона", и некоторый возврат дополнительно возвращают состояние HTTP 404.

Каково Ваше взятие на этом, и почему?

ОБНОВЛЕНИЕ

Это не и ответ API. Этот вопрос в отношении просмотренных страниц пользователя, которые среди прочего показывают список/таблицу в основной области.

ОБНОВЛЕНИЕ

Пограничный пример: 1'st страница является страницей из диапазона, потому что никакие данные для показанного списка еще не существуют.

Я должен показать 404? Если бы это, где результат поиска я не возражал бы..., но для простого просмотра разбитого на страницы списка/таблицы данных, кажется резким.

Пример: первый день выполненного Переполнения стека и никакие вопросы существует уже, Вы поражаете домашнюю страницу и что, 404 или просто передают 200 с "Никакими вопросами уже"?

8
задан Janusz Skonieczny 31 March 2010 в 21:58
поделиться

6 ответов

Я бы выбрал 404, когда номер страницы равен! = 1 , независимо от того, где номер страницы помещен в URI (строка запроса или путь), и выбрал бы soft 404 , когда нет результатов, но номер страницы равен 1 или не указан .

Почему?

Страница 1 набора результатов существует как целевая страница для набора результатов ( даже результаты поиска - см. Здесь Google ), поэтому она найдена и существует (если не для отображения набора результатов), чтобы сообщить вам что в наборе результатов нет данных.

Тогда какой-либо номер страницы набора результатов за пределами диапазона набора результатов не найден, то для существования этих страниц / ресурсов нет смысла, следовательно, 404. Если кто-то должен утверждать, что они существуют для передачи сообщения «Нет БОЛЬШЕ данных», следовательно они значимы, следовательно, нуждаются в индексировании - кошмар для поисковых систем!

Неверный запрос HTTP 400 - плохой выбор, поскольку он предполагает, что запрос никогда не может быть правильным.

Неверный запрос HTTP 400 - запрос не может быть распознан сервером из-за неправильного синтаксиса . Клиенту НЕ СЛЕДУЕТ повторять запрос без модификаций

404 Not Found в этом случае неточно, и в этом случае ИМО может интерпретироваться в обоих направлениях

Сервер не нашел ничего , соответствующего Request-URI. Не указывается , является ли условие временным или постоянным. Код состояния 410 (Gone) СЛЕДУЕТ использовать, если сервер знает через некоторый внутренне настраиваемый механизм, что старый ресурс постоянно недоступен и не имеет адреса пересылки .Этот код статуса обычно используется, когда сервер не хочет раскрывать, почему запрос был отклонен, или , когда нет другого ответа применимо .

1
ответ дан 5 December 2019 в 20:15
поделиться

Если ваша строка запроса сообщает, какую страницу возвращать, 404 может не подходить. Если его нет в вашей строке запроса, значит, документ не существует и 404 определенно подходит.

0
ответ дан 5 December 2019 в 20:15
поделиться

Что ж, я бы не возвращал 404, потому что страница вообще найдена (например, display.php ? Page = 62).

На мой взгляд, лучшее решение - сообщить пользователю «Номер страницы вне допустимого диапазона / недоступен» и указать ссылку на последнюю существующую страницу или ссылку history.back ().

HTTP Code 400 может быть тем, что вы ищете.

-1
ответ дан 5 December 2019 в 20:15
поделиться

Я бы сказал, что это абсолютно подходящий случай для 404. Это запрос на несуществующий ресурс. Используется ли общая страница/скрипт для отображения элементов, не имеет значения.

6
ответ дан 5 December 2019 в 20:15
поделиться

Да, если это API, поскольку ошибки 4xx указывают на временную нехватку ресурсов, которая может возникнуть позже. Если это не API, я бы посоветовал любую страницу 404 немного более удобную для пользователя (например, http://www.didcot.com/forum/?read=1234567 ).

1
ответ дан 5 December 2019 в 20:15
поделиться

- когда пользователь выходит за пределы доступного диапазона списка.

Вы не должны предоставлять ссылку вне допустимого диапазона. На последней странице результатов не показывать ссылку «следующая». Что ж, я думаю, вы этого не делаете. Но кто-то другой может ссылаться на вашу страницу вне диапазона, что вызывает у нас интересный вопрос:

Как уже было сказано, 404 следует возвращать для несуществующего ресурса. Реальный вопрос: «Что делает ресурс?»

Я бы сказал, что если количество результатов часто меняется (например, ежедневно) и может также уменьшаться (так что страница результатов № 9 может существовать сегодня, но не обязательно завтра), функциональность листинга / поиска в целом составляет ресурс, а не отдельную страницу результатов, которая просто представляет конкретное состояние ресурса.

Вместо этого, если количество результатов может только увеличиваться, т. Е. Перечисленные объекты не являются произвольными, а постоянными, имеет смысл отображать 404 для страниц вне диапазона, поскольку существующая страница результатов больше похожа на ресурс, т. Е. документ, предназначенный для того, чтобы остаться там.

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

Просто отметим, что страницы результатов, выходящие за пределы допустимого диапазона, получают от Google статус 200: (не то чтобы Google - бог.)

$ curl -s --head -A 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; fi-fi) AppleWebKit/531.21.11 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10' 'http://www.google.com/search?q=stackoverflow&start=1000' | grep ^HTTP
HTTP/1.1 200 OK
1
ответ дан 5 December 2019 в 20:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: