Иногда нас ошибают адресом. Ищем мы в доме квартиру 58, а такой нет. Варианта два — или ее никогда не было, или мы зашли не в тот дом. То же самое происходит и на вебе: страницы или файла, которые мы искали, может не оказаться.
Интернет растет и перестраивается. Многих сайтов, работавших год назад, сегодня уже нет. В этом легко убедиться, пойдя по ссылкам из какого-нибудь каталога. Ничего плохого в этом нет (телефонные номера тоже не всю жизнь принадлежат одному и тому же человеку). Во-первых, страница специально могла создаваться на небольшой срок. Во-вторых, ее могли просто убрать за ненадобностью. В-третьих, она могла переехать по другому адресу. Во всех этих случаях мы должны увидеть в окне браузера сообщение о том, что страница не найдена и найденной быть не собирается.
В целях экономии времени сервер каждый свой ответ посылает в виде номера (как в анекдоте о пронумерованных анекдотах). Эти номера называются кодами статуса. Существует пять групп этих кодов, они различаются по первой цифре:
1XX — информация;
2XX — успешное действие;
3XX — переадресация;
4XX — ошибка на стороне клиента;
5XX — ошибка на стороне сервера.
Вторые две цифры (ХХ) обозначают порядковый номер кода. Скажем, когда читатель запрашивает страницу с этим параграфом в онлайн-версии, его браузер сначала получит от сервера код 200, а потом только начнет забирать сам документ. В четвертой группе код 401 означает, что пользователь должен авторизоваться (ввести логин и пароль). Код 402 означает, что запрашиваемый файл доступен только за деньги, но пока этот код не используется вообще. Код 403 сообщает о том, что доступ запрещен. А код 404 означает «не найдено».
Коды статуса HTTP 0.9 (документ для историков)
Коды статуса HTTP 1.1 (финальная версия)
Коды статуса были утверждены в 1992 году в рамках спецификации протокола ХТТП 0.9 консорциумом В3Ц. Автором является тот же мужик, который придумал веб, первый браузер и язык разметки гипертекста, — Тим Бернерс-Ли. За основу была принята система кодов статуса, использовавшаяся с начала 1980-х в протоколе ФТП.
Домашняя страница Тима Бернерса-Ли
Официальная спецификация FTP
Хорошим тоном в организации сайта является внятное содержание главной страницы и помощь пользователю в понимании того, на каком свете он находится. Нас интересует конкретный случай — пользователь запросил документ, которого на сайте по какой-то причине нет. Такая ситуация возможна, если он набирал адрес и ошибся или использовал ссылку, по которой ничего нет.
Начать нужно с заголовка окна. Пока еще ничего не загрузилось, по одному только заголовку с надписью «страница не найдена» должно быть понятно, что в адресе ошибка. Если посетитель набирал адрес руками и опечатался, он тут же нажмет на кнопку «стоп» и исправит адрес. Если он пошел по указанной где-либо неправильной ссылке, он может дождаться загрузки 404-й страницы и сориентироваться на месте.
Желательно, чтобы страница 404 использовала все доступные визуальные средства для сообщения о том, что это не часть сайта, а тупик. Надпись в заголовке, другой фон, отсутствие графики, черно-белый логотип вместо цветного, краткие инструкции по дальнейшим действиям — так должна выглядеть идеальная 404-я страница, помогающая пользователю как можно быстрее найти то, за чем он на сайт пришел.
Наконец, самое важное, что должен учесть создатель сайта, — это сохранение ошибочного адреса в адресной строке. Когда сервер перебрасывает пользователя на заранее подготовленную страницу со своим отдельным адресом (типа www.***.ru/error), не надо забывать высказать свое «фи» администратору ресурса. Если человек ошибся одной буквой и хочет исправиться, ему такая возможность должна быть предоставлена незамедлительно, не надо заставлять его набирать адрес заново.