- когда пользователь выходит за пределы доступного диапазона списка.
Вы не должны предоставлять ссылку вне диапазона. На последней странице результатов не показывать ссылку «следующая». Ну, я думаю, ты этого не делаешь. Но кто-то другой может дать ссылку на вашу страницу за пределами допустимого диапазона, что приводит нас к интересному вопросу:
Как уже было сказано, 404 должно быть возвращено для несуществующего ресурса. Реальный вопрос: «Что делает ресурс?»
Я бы сказал, что если число результатов часто меняется (например, ежедневно) и также может уменьшаться (поэтому страница результатов № 9 может существовать сегодня, но не обязательно завтра), функциональность листинга / поиска в целом делает ресурс, не одна страница результатов, которая просто представляет конкретное состояние ресурса.
Вместо этого, если количество результатов может только увеличиваться, т. Е. Перечисленные объекты не являются волативными, а постоянными, имеет смысл отображать 404 для страниц вне диапазона, поскольку существующая страница результатов больше похожа на ресурс, т.е. документ должен был остаться там.
Как правило, я думаю, что универсального ответа нет, но решение остается за веб-мастером, потому что не существует достаточно четкой спецификации. Следует помнить, что коды состояния возвращаются в основном для нечеловеческих клиентов (роботов, поисковых систем), которые не могут полностью контролировать содержание страницы, поэтому на практике это в основном проблема SEO.
Просто отметим, что страницы результатов вне допустимого диапазона получают статус 200 от Google: (не то, чтобы 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