В книге Agile Web development with Rails предлагается, чтобы, когда кто-то пытается получить доступ к некоторым данным на вашем веб-сайте и записи больше не существует, пользователь должен быть перенаправлен на рабочую страницу и отображать сообщение .
Пользователь может перейти в / book / 1, но книга с идентификатором 1 больше не существует, поэтому она перенаправляется в / books и показывает сообщение "Эта книга не существует". Это кажется хорошим опытом для пользователя, но нарушает протокол HTTP. Это должно быть временное перенаправление? если это так, веб-сканер будет продолжать попадать на эту страницу. Должно ли это быть постоянное перенаправление? Если так, то предыдущий контент должен быть доступен там, а это не так.
Я думаю, что страница, которая не найдена, должна выдавать 404. Я ошибаюсь? Нажатие на / book / 1, где 1 больше не существует, вернет 404 с HTML, показывающим то же самое, что и / books, и, возможно, сообщение об ошибке.
Agile Web-разработка с Rails против этого варианта, потому что пользователь может продолжать нажимать / book / 1, генерируя 404, только чтобы увидеть то, что можно увидеть в /books.
Что ты думаешь?