Одним из важнейших аспектов, которые нужно проверить на вашем сайте, являются статус-коды HTTP (или статус-коды HTTP). Эти коды могут быть сложными и порой представляют собой трудную головоломку, которую нужно решить, прежде чем можно будет успешно выполнить другие задачи.
В этой статье мы рассмотрим наиболее распространенные статус-коды и ошибки HTTP, а также объясним, как с ними работать, чтобы избежать проблем с сайтом.
Что такое статус-коды HTTP?
Статус-коды HTTP — это как короткие сообщения от серверов, которые размещаются на веб-страницах, но не являются их частью. Это сообщения от серверов, уведомляющие вас о том, как серверы обрабатывают различные запросы.
Когда браузеры взаимодействуют с серверами, эти сообщения возвращаются, но пользователи, как правило, их не видят. Однако для владельцев или оптимизаторов сайтов очень важно понимать статус-коды HTTP. Они критичны для диагностики и исправления ошибок конфигурации на сайте.
Какие классы статус-кодов существуют?
Каждый запрос включает ответ сервера в виде трехзначного числа, которое указывает на результат запроса. Эти коды делятся на 5 основных классов. Рассмотрим каждый из них:
1XX — информационные коды
Эти коды информируют клиента, что запрос обрабатывается сервером, но ответ ещё не готов. Обычно они не отображаются на экране и используются только в браузерах.
• 100 — Continue: сервер уведомляет клиента, что можно продолжить запрос или проигнорировать ответ, если запрос уже завершен.
• 102 — Processing: сервер обрабатывает запрос, но ответ пока не готов.
• 103 — Early Hints: используется с заголовком Link для предварительной загрузки ресурсов, пока сервер готовит ответ.
2XX — успешные коды
Эти коды показывают, что запрос был успешно принят и обработан сервером.
• 200 — OK: запрос выполнен успешно. • 201 — Created: ресурс был создан в ответ на запрос. • 202 — Accepted: запрос принят, но еще не обработан. • 203 — Non-Authoritative Information: ответ не идентичен данным с основного сервера. • 204 — No Content: для этого запроса нет контента, но могут быть полезны заголовки. • 205 — Reset Content: инстуктирует клиента сбросить состояние документа. • 206 — Partial Content: сервер возвращает только часть ресурса по запросу клиента. • 207 — Multi-Status: информация о нескольких ресурсах. • 208 — Already Reported: элементы уже были указаны и не будут повторяться. • 226 — IM Used: ответ сервера, отражающий изменения ресурса.
3XX — коды редиректа Эти коды сообщают, что запрашиваемое содержимое временно перемещено на другой URL.
• 300 — Multiple Choices: запрос имеет несколько возможных ответов. • 301 — Moved Permanently: ресурс был перемещен на постоянное место. • 302 — Found: временное перемещение ресурса. • 303 — See Other: запрос на другой URL с методом GET. • 304 — Not Modified: ресурс не изменен, можно использовать кеш. • 307 — Temporary Redirect: временный редирект с сохранением HTTP метода. • 308 — Permanent Redirect: постоянное перемещение с сохранением метода запроса.
4XX — ошибки клиента Эти коды сигнализируют о проблемах с запросом, например, неправильный запрос или недостаток прав доступа.
• 400 — Bad Request: неправильный запрос от клиента. • 401 — Unauthorized: требуется аутентификация клиента. • 403 — Forbidden: доступ запрещен. • 404 — Not Found: ресурс не найден на сервере. • 405 — Method Not Allowed: метод запроса не поддерживается. • 406 — Not Acceptable: сервер не может удовлетворить запрос. • 407 — Proxy Authentication Required: требуется аутентификация через прокси. • 408 — Request Timeout: время ожидания истекло. • 409 — Conflict: запрос конфликтует с текущим состоянием сервера. • 410 — Gone: ресурс был удален навсегда. • 411 — Length Required: требуется указать размер контента. • 412 — Precondition Failed: не выполнены условия в заголовках. • 413 — Payload Too Large: запрос слишком велик. • 414 — URI Too Long: слишком длинный URI. • 415 — Unsupported Media Type: неподдерживаемый формат. • 416 — Range Not Satisfiable: нельзя выполнить указанный диапазон. • 417 — Expectation Failed: не выполнены требования заголовка Expect. • 421 — Misdirected Request: запрос направлен не на тот сервер. • 422 — Unprocessable Content: запрос корректен, но не может быть выполнен. • 423 — Locked: ресурс заблокирован. • 424 — Failed Dependency: ошибка из-за предыдущего запроса. • 426 — Upgrade Required: требуется обновление протокола. • 428 — Precondition Required: запрос должен быть условным. • 429 — Too Many Requests: слишком много запросов. • 431 — Request Header Fields Too Large: слишком большие заголовки. • 451 — Unavailable For Legal Reasons: ресурс недоступен по юридическим причинам.
5XX — ошибки сервера Эти коды означают, что сервер не может выполнить запрос по внутренней ошибке.
• 500 — Internal Server Error: ошибка сервера. • 501 — Not Implemented: метод не поддерживается. • 502 — Bad Gateway: сервер получил неправильный ответ от другого сервера. • 503 — Service Unavailable: сервис недоступен. • 504 — Gateway Timeout: сервер не получил ответ вовремя. • 505 — HTTP Version Not Supported: версия HTTP не поддерживается. • 506 — Variant Also Negotiates: ошибка конфигурации. • 507 — Insufficient Storage: недостаточно памяти для обработки запроса. • 508 — Loop Detected: сервер зафиксировал бесконечный цикл. • 510 — Not Extended: требуется расширение запроса. • 511 — Network Authentication Required: требуется аутентификация для доступа к сети.
На что стоит обратить внимание?
Не все статус-коды и ошибки видны пользователям, большинство из них остаются скрытыми. Но вы можете проверить их, воспользовавшись инструментами разработчика в браузере.
Основные статус-коды для SEO
Если вы хотите улучшить SEO на странице, начните с того, чтобы удостовериться, что ваш сайт не содержит ошибок в статус-кодах HTTP.
Хотя существует более 40 различных статус-кодов сервера, на практике вы столкнетесь лишь с несколькими из них. Если вы отвечаете за SEO сайта, крайне важно понимать эти коды и знать, как решать возникающие проблемы.
Пример самых распространенных статус-кодов:
301 — Moved Permanently: Этот код используется для постоянного переноса ресурса на новый URL.
302 — Found: Временный редирект, когда ресурс перемещен на другой URL.
304 — Not Modified: Страница не была изменена с момента последнего посещения.
307 — Temporary Redirect: Временный редирект с сохранением метода запроса.
403 — Forbidden: Доступ к ресурсу запрещен.
404 — Not Found: Ресурс не найден на сервере.
Как решать проблемы с статус-кодами?
Для 3XX: Снижайте количество перенаправлений на сайте.
Для 4XX: Проверяйте ссылки на страницы с ошибками и удаляйте или заменяйте их.
Для 5XX: Проверяйте журнал ошибок сервера и связывайтесь с хостинг-провайдером.
Оптимизируйте статус-коды с помощью инструментов аудита, чтобы улучшить сайт и сообщить об изменениях поисковым системам!