Страницы ошибок регулярно встречаются как веб-мастерам, так и обычным интернет-пользователям. Они могут сигнализировать о неполадках на сайте, информировать о перенаправлении или подтверждать успешное выполнение действия. Характер сообщения определяется конкретным кодом. Сегодня мы расскажем про самые распространенные типы ошибок http и что нужно для того, чтобы узнать код ответа сервера.
Коды состояния HTTP — что это
Прежде чем объяснять, что означает код ошибки, остановимся на том, что представляет собой HTTP status code, то есть код состояния. Простыми словами, это числовой код, который сервер отправляет браузеру в ответ на запрос, сообщая, как он прошел: успешно, с ошибкой или требует дополнительных действий.
Представьте, что вы заказываете пиццу по телефону:
- 200 OK: «Ваш заказ принят, ожидайте доставку» (успех).
- 404 Not Found: «Извините, такой пиццы нет в меню» (ошибка).
- 301 Moved Permanently: «Мы переехали, теперь заказ по другому номеру» (перенаправление).
- 500 Internal Server Error: «У нас сломалась печь, заказы временно не принимаем» (ошибка сервера).
То есть благодаря HTTP status code вы можете быстро понять, что произошло с запросом, не вдаваясь в подробности.
Как узнать коды ответа сервера через браузер
Посмотреть ответ сервера может понадобиться для проверки корректности настроек перенаправлений. Или же для выявления проблем с загрузкой определенных элементов страницы, когда основное содержимое загружается, но некоторые функции недоступны.
Итак, как узнать код ответа страницы? Для этого выполните следующие шаги:
- Откройте страницу, на которой возникает проблема.
- Вызовите инструменты разработчика в браузере. Для этого используйте сочетания клавиш Ctrl + Shift + I (для Windows/Linux) или Cmd ⌘ + Opt ⌥ + I (для macOS).
- Перейдите на вкладку «Сеть».
- Обновите страницу.
После этого вы увидите список всех HTTP-запросов и соответствующих http codes сервера.
Классификация кодов состояния HTTP
Существует 5 основных типов кодов, каждый из которых выполняет определенную функцию в системе коммуникации между клиентом и сервером:
- 1xx — информационные статус коды. Они сообщают о том, что запрос принят и обработка продолжается. Например, код 100 Continue говорит клиенту, что можно продолжать отправку запроса.
- 2xx — коды успешного выполнения. Указывают на то, что запрос клиента успешно принят и обработан. Самый распространенный ответ сервера — 200 OK, означающий успешное выполнение запроса.
- 3xx — коды перенаправления. Информируют клиента о необходимости выполнить дополнительные действия для завершения запроса. Часто используются при изменении URL ресурса, например, 301 Moved Permanently.
- 4xx — коды ошибок клиента. Сигнализируют о проблемах со стороны клиента, например, отсутствие прав доступа или запрос несуществующего ресурса. Типичный пример — 404 Not Found.
- 5xx — коды ошибок http сервера. Они указывают на проблемы, возникшие на сервере при обработке запроса. К примеру, 500 Internal Server Error сообщает, что возникла непредвиденная ошибка сервера.
Более подробно про разные коды ответа сервера мы расскажем далее.
Влияние HTTP кодов на СЕО
HTTP коды состояния могут существенно влиять на позиции сайта в поисковой выдаче. Google использует коды ответов http для оценки качества и доступности веб-ресурсов, что напрямую отражается на их ранжировании.
Коды 2xx, особенно 200 OK, показывают, что страница успешно загружается и доступна для индексации. Благодаря этому поисковые роботы могут беспрепятственно сканировать и индексировать контент. Но на позициях страницы http коды 2хх никак не отражаются.
А вот коды 3xx, связанные с перенаправлениями, оказывают более существенное влияние на позиции. Правильное использование 301 редиректа (постоянное перенаправление) помогает сохранить «вес» страницы при смене URL, передавая авторитет старой страницы новой. Это особенно важно при реструктуризации сайта или изменении доменного имени. Но нужно учитывать, что избыточные или неправильно настроенные редиректы могут негативно влиять на скорость загрузки и индексацию сайта, и в результате — на позиции в поисковой выдаче.
Серьезно навредить СЕО-продвижению могут коды ошибок 4xx и 5xx, особенно если встречаются часто. Например, большое количество страниц с кодом 404 (Not Found) может указывать на проблемы с внутренней структурой сайта и негативно сказаться на пользовательском опыте. Аналогично частые ошибки 500 (Internal Server Error) могут свидетельствовать о нестабильности сервера, что также отрицательно влияет на ранжирование.
Важно отметить, что временные http ошибки (например, краткосрочные 503 Service Unavailable) обычно не приводят к проседанию позиций, если быстро устраняются. Однако повторяющиеся проблемы могут негативно повлиять на СЕО.
Поэтому для эффективного продвижения мы советуем регулярно мониторить http статус коды, оперативно исправлять ошибки и правильно настраивать редиректы. Для проверки статуса индексации страницы можно воспользоваться Google Search Console. Процедура проверки выглядит следующим образом:
- Зайдите в Google Search Console.
- В поисковой строке введите URL интересующей вас страницы.
- Нажмите Enter для запуска проверки.
После этого сервис предоставит информацию о текущем статусе страницы. Если окажется, что она больше не индексируется, вы можете инициировать повторную индексацию, нажав на опцию «Запросить индексирование».
Google Search Console также предлагает инструменты для своевременного выявления ошибок на сайте. Эту информацию вы найдете в разделе «Покрытие», доступном через левое меню на главной странице панели.
Описание кодов состояния HTTP
Существует более 40 официально утверждённых кодов состояния HTTP и еще столько же неофициальных. Мы расскажем о тех, которые встречаются наиболее часто.
1хх Informational
Это информационные ответы сервера http, которые предназначены для передачи промежуточной информации в процессе обработки запроса. Они сообщают клиенту о том, что его запрос получен и обрабатывается сервером, но окончательный ответ еще не готов. Рассмотрим самые распространенные из них.
100 Continue информирует клиента о том, что сервер получил начальную часть запроса и готов принять его полностью. Это полезно при отправке больших объемов данных: клиент может убедиться, что сервер готов принимать запрос, прежде чем отправлять всю информацию.
101 Switching Protocols — код состояния http переводится как «Переключить протокол». Он используется, когда клиент запрашивает изменение протокола связи. Например, при переходе с HTTP на WebSocket для установления постоянного соединения.
103 Early Hints переводится как «Предварительные данные». Он позволяет серверу отправить часть заголовков ответа до формирования полного ответа. Это может ускорить загрузку ресурсов, позволяя браузеру начать предварительную загрузку или обработку данных.
2xx Success
Это успешные статусы ответа сервера, которые указывают на то, что запрос клиента был принят и обработан. Они подтверждают, что операция выполнена без ошибок и пользователь может продолжать свою работу.
200 OK — самый распространенный успешный код состояния, означающий, что запрос выполнен и сервер отправляет запрошенные данные.
201 Created означает, что запрос был успешным и на сервере создан новый ресурс. Этот код обычно возвращается после выполнения запросов, таких как POST или PUT, когда сервер добавляет что-то новое, например, файл или запись. В ответе также указывается, где находится созданный ресурс.
202 Accepted сообщает, что запрос принят в обработку, но еще не завершен. Это полезно для асинхронных операций, когда результат не может быть получен немедленно.
203 Non-Authoritative Information информирует про успешность выполнения запроса, но данные в ответе могут быть изменены. Это происходит, когда промежуточный сервер, например, прокси, изменяет или кэширует данные перед их отправкой пользователю. Поэтому информация может немного отличаться от оригинала.
204 No Content используется, когда сервер успешно обработал запрос, но нет данных для отправки в ответе. Часто применяется в API для подтверждения успешных операций без возврата данных.
205 Reset Content инструктирует клиента сбросить данные на странице. То есть нужно обновить форму или настройки на ней, чтобы вернуть их в исходное состояние.
206 Partial Content применяется при частичной передаче содержимого, например, при возобновлении прерванных загрузок или потоковой передаче медиа.
207 Multi-Status используется, когда один запрос касается нескольких элементов, и для каждого из них может быть свой результат — успешный или с ошибками.
3xx Redirection
Это коды перенаправлений. Они используются для информирования о том, что запрашиваемый ресурс доступен по другому адресу или требует дополнительных действий. Эти коды доступа помогают оптимизировать навигацию по сайту и обеспечивать правильную обработку запросов при изменении расположения ресурсов.
300 Multiple Choices предлагает клиенту выбрать один из нескольких вариантов. Например, если условиям запроса отвечают сразу несколько типов файлов на сервере.
HTTP 301 Moved Permanently особенно важен для SEO и обновления ссылок, так как указывает на перемещение ресурса. То есть что сайт теперь доступен по другому адресу.
302 Found (ранее Moved Temporarily) сообщает о временном перемещении ресурса. И требует при последующих запросах вводить старый URL.
HTTP 303 See Other направляет клиента к другому URL с использованием метода запроса GET.
304 Not Modified позволяет использовать кэшированную версию ресурса, экономя трафик.
HTTP 307 Temporary Redirect аналогичен 302, но требует сохранения исходного метода запроса.
308 Permanent Redirect похож на 301, но также требует сохранения метода запроса.
305 Use Proxy и 306 Switch Proxy больше не используются из-за проблем с безопасностью.
4xx Client Error
Это коды ошибок клиента, которые используются для указания на проблемы, возникшие из-за действий клиента или ошибок в запросе. Эти статусы ответа сервера помогают быстро идентифицировать и исправить проблемы на стороне клиента. Наиболее распространенные следующие коды:
400 Bad Request указывает на некорректность запроса часто из-за синтаксических ошибок.
401 Unauthorized сигнализирует о необходимости авторизации или аутентификации. То есть пользователю необходимо предоставить правильные учетные данные для доступа к ресурсу.
Ошибка HTTP 403 Forbidden означает, что сервер распознал запрос, но отказывает в его выполнении, так как у клиента нет достаточных прав доступа.
404 Not Found — самый известный ответ страницы, указывающий на отсутствие запрашиваемого ресурса на сервере. Он помогает пользователям и поисковым системам понять, что страница или ресурс не существует.
HTTP 405 Method Not Allowed информирует о том, что сервер получил запрос, но метод, который был использован (например, GET, POST и т.д.), не разрешён для этого ресурса. То есть вы обратились к правильной странице, но с неправильным способом запроса.
406 Not Acceptable возникает, когда сервер не может вернуть данные в формате, который подходит вашему запросу. То есть сервер нашёл ресурс, но не может вернуть его в том виде, который вы запросили.
HTTP 408 Request Timeout указывает на превышение времени ожидания запроса. Проще говоря, он занял слишком много времени, и сервер «сдался».
409 Conflict сигнализирует о конфликте при выполнении запроса, например, при одновременном изменении ресурса несколькими клиентами. Это необходимо для предотвращения потери данных и обеспечения целостности информации.
413 Payload Too Large возникает, когда размер запроса превышает допустимые лимиты сервера. Это помогает предотвратить перегрузку сервера и защитить от потенциальных атак.
414 URI Too Long означает, что адрес (URL), который вы отправили в запросе, слишком длинный, и сервер не может его обработать.
415 Unsupported Media Type возникает, когда формат данных в запросе не поддерживается сервером.
5xx Server Error
Эти коды указывают на проблемы на стороне сервера при обработке запроса. Веб-мастерам они помогают диагностировать и устранять существующие проблемы. А клиентов информируют о невозможности выполнить запрос по причинам, не связанным с его действиями.
500 Internal Server Error — общая ошибка сервера, требующая диагностики.
501 Not Implemented означает, что сервер не поддерживает запрошенный функционал.
502 Bad Gateway возникает при проблемах взаимодействия между серверами.
Код ответа сервера HTTP 503 Service Unavailable указывает на то, что он временно недоступен.
HTTP 504 Gateway Timeout сигнализирует о превышении времени ожидания ответа от вышестоящего сервера.
505 HTTP Version Not Supported возникает при несовместимости версий HTTP.
HTTP 507 Insufficient Storage указывает на нехватку места на сервере.
508 Loop Detected предотвращает бесконечные циклы перенаправлений.
HTTP 509 Bandwidth Limit Exceeded (нестандартный код) сообщает о превышении лимита трафика на хостинге.
Подведем итоги
Коды состояния HTTP играют ключевую роль в современной веб-разработке и обслуживании сайтов. Их правильное применение существенно влияет на различные аспекты функционирования веб-ресурсов. Во-первых, они служат первичным индикатором при диагностике проблем, позволяя быстро локализовать и устранить неполадки. Это особенно важно в сложных системах, где быстрое выявление источника ошибки может сэкономить часы работы и предотвратить потенциальные убытки.
Во-вторых, через создание понятных сообщений об ошибках можно улучшить пользовательский опыт, так как клиенты смогут быстро понять, что пошло не так. А в третьих, правильное применение кодов состояния HTTP — это важный аспект безопасности. Некоторые коды, такие как 401 или 403, помогают защитить ресурсы от несанкционированного доступа. Правильная реализация этих кодов может значительно усилить защиту веб-приложения от потенциальных угроз.
Оставьте ваши контактные данные.
Будем рады обсудить ваш проект!