Здравствуйте, читатели блога Сайт с нуля.
Рассматривая вопрос о создании страницы ошибки 404, мы упустили тот факт, что не рассказали еще вам о том, что такое код ответа сервера и как его проверить. Частично это упоминается по приведенной ссылке, но хотелось бы описать этот момент более подробно.
Обмен любой информацией в интернете происходит по схеме «запрос — ответ», используя специальный протокол — HTTP (Hypertext Transfer Protocol). При этом, сначала приходит ответ от сервера о наличии нужной по запросу информации или других особенностях, а лишь затем (в случае успеха) загружается документ, файл. Это если идет речь об обращении пользователи сети к сайту.
Собственно, если всё хорошо, и страница на месте сервер присылает в ответ код 200. А вот если её нет — появляется уже ответ с кодом 404 «Не найдено» — «Not Found».
При стабильной и правильной работе сайта, вы не видите наглядно этот обмен запросами, но происходит постоянно. Но как только что-то не заладится или изменится — обязательно заметите.
В тоже время, существует несколько моментов, когда вам нужно самостоятельно убедиться какой именно код ответа присылает сервера на определенное обращение к нему.
Наиболее характерно это для 200, 301 и 404:
- 200 — чтобы убедиться в нормальной работе сервера и сайта;
- 301 — редирект, необходимо убедиться, что ваш сайт с www перенаправляется на основное зеркало;
- 404 — настроить работу страницы ошибки, когда нужного документа нет.
Давайте все рассмотрим по порядку:
- Сначала определимся как проверить код ответа сервера вашего сайта.
- Затем более подробно изучим вопрос касаемо трех указанных выше кодов;
- И посмотрим с какими еще можно столкнуться кодами ответов http сервера.
Как проверить код ответа сервера для страницы вашего сайта
Собственно, узнать какие именно сообщения присылает сервер в ответ на определенный запрос достаточно просто.
Для этого нужно воспользоваться услугами какого-то сервиса по анализу сайтов или, например, панелью вебмастера Яндекс, вернее одной из её возможностей — Проверка ответа сервера.
Напомним, что перед этим необходимо зарегистрировать сайт в поисковых системах и в нужных панель инструментов, в данном случае — в Яндексе.
Относительно других сервисов, очень удобен — pr-cy.ru, но там можно увидеть только ответ главной страницы.
Как видите, http сервер нашего сайта посылает вполне успешные ответы.
Но этого недостаточно. Необходимо проверить, как он реагирует на запрос несуществующих страниц, а также на «www.sitesnulya.ru» (главное зеркало — без www).
Для этих целей используйте уже указанную проверку от Яндекса или вот этот сервис.
Например, проверим код ответа сервера на :sitesnulya.ru/abrakadabra
Подробнее о том, как сделать страницу ошибки 404 читайте по ссылке.
Проверка на склейку зеркал сайта (www и без него):
У нас всё работает и если ввести в адресную строку www.sitesnulya.ru попадете все равно на sitesnulya.ru. Почему этот так важно рассмотрим дальше.
200 OK, 301 Moved Permanently, 404 Not Found — в чем их важность
Как вы можете догадаться, нормальный ответ сервера, если нету никаких сбоев и проблем — это код 200 OK, который означает «успешный запрос». Если для главной страницы и для других он отличается, значит что-то не так и нужно разбираться в проблеме.
301 Moved Permanently или код 301 называют редиректом, то есть перенаправлением с одного адреса на другой. В первую очередь это касается определения главного зеркала вашего сайта — с www или без него.
Дело в том, что поисковые системы могут распределять трафик между такими вот «версиями», а это очень негативно влияет на возможность продвижения сайта. Поэтому, их необходимо соединить, то есть «склеить» с помощью редиректа. Об этом читайте в отдельной статье.
Ну, а ответ сервера 404 Not Found — не найдено, также не может быть недооценен, поскольку от битых ссылок не застрахован даже самый лучший проект. Просто потому что в адресную строку вводить название могут люди, а им свойственно ошибаться. Читайте еще статью и о поиске битых ссылок на сайте.
Возможные коды ответов http cервера
Вариантов ответных сообщений много, но они делятся на пять групп по смыслу:
- Информационные (100-199) — показывают, как сервер относится к вашему запросу: принял, в процессе обработки, не понял и т.д.
- Успешные (200-299) — запрос успешно удовлетворен.
- Перенаправляющие (300-399) — перенаправление на другой документ, страницу: постоянное (301), временно (302) и др.
- Ошибки клиента (400-499) — какие-то проблемы с запросом, например нужного документа не существует на сервере (404).
- Ошибки сервера (500-599) — проблемы с сервером.
Намного подробнее основные возможные коды ответов http сервера описаны в Вики.
Спасибо за внимание. Будем очень благодарны, если воспользуетесь кнопочками социальных сетей.