Какой код состояния для недоступной на данный момент (предполагаемой) страницы
В настоящее время я создаю сайт, где вы можете выиграть приз каждый день. Вы можете участвовать только в данный день, например, в дни с 1-го по 7-й вы можете открыть только 5-й день 5-го.
Мои URL-адреса что-то вроде www.example.org/day/5
Теперь предположим, что это 5-е место, и я бы попытался открыть URL www.example.org/day/12. Конечно, это не должно работать, но какой код статуса должен быть возвращен? Тем более что после 12 числа день доступен.
Я думаю, что перенаправление или ошибка клиента будет уместным, но я не знаю, какой именно.
1 ответ
Для страниц такого типа вы должны использовать класс кодов состояния Client Error 4xx. Я думаю, что "403 Forbidden" было бы здорово здесь. Вам известно, что ошибка 403 Forbidden означает, что сервер понимает, что вы хотите получить, но делает страницу недоступной для пользователя даже при аутентификации. В зависимости от того, сколько информации вы хотите предоставить пользователю, вы также можете использовать 404 Not Found, сообщая пользователю, что здесь ничего не найдено. 403 дает больше похоже на "Эта страница существует, но вы не можете перейти на нее", в то время как 404 предлагает "Я не знаю, о чем вы говорите".