Коды состояния ответа HTTP: что означают и как исправить?

г. Минск, ул. Притыцкого, 2/3, 3 этаж, офис 23

Коды ответа сервера — это числовые сообщения, которые сервер отправляет в ответ на запросы браузера или поискового робота. Коды состояния ответа HTTP показывают, как сервер обрабатывает запрос и влияют на видимость сайта в поисковых системах. Например, код 200 означает успешную загрузку страницы, а 404 — что страница не найдена.

Содержание

1. Значение кодов ответа сервера в SEO

2. Информационные коды ответа сервера

3. Успешные коды ответа сервера

4. Перенаправляющие коды ответа сервера

5. Ошибочные коды ответа сервера (со стороны клиента)

6. Ошибочные коды ответа сервера (со стороны сервера)

7. Инструменты для проверки кодов ответа сервера

1. Значение кодов ответа сервера в SEO

Коды ответа сервера — это числовые сообщения, которые сервер отправляет в ответ на запросы браузера или поискового робота. Коды состояния ответа HTTP показывают, как сервер обрабатывает запрос и влияют на видимость сайта в поисковых системах. Например, код 200 означает успешную загрузку страницы, а 404 — что страница не найдена.

Ошибочные коды, такие как 404 или 500 (внутренняя ошибка сервера), ухудшают индексацию страниц и понижают позиции сайта в поисковой выдаче. Перенаправления, например, 301 или 302, помогают сохранить ссылочный вес и избежать потери трафика.

Анализ этих кодов помогает быстро находить и устранять проблемы на сайте, поддерживая его стабильную работу и высокие позиции в поиске.

Коды делятся на пять категорий:

1xx: Информационные — подтверждают получение запроса.

2xx: Успех — показывают успешное выполнение запроса.

3xx: Перенаправления — требуют дополнительных действий.

4xx: Ошибки клиента — проблемы с запросом от клиента.

5xx: Ошибки сервера — сбои на стороне сервера.

2. Информационные коды ответа сервера

Код ответа сервера 100 Continue

Код 100 Continue редко виден пользователям, так как это промежуточный ответ сервера, подтверждающий готовность продолжить обработку запроса. Обычно используется при отправке больших данных, чтобы убедиться, что сервер готов их принять. Этот код помогает оптимизировать взаимодействие между клиентом и сервером, избегая лишней передачи данных, если сервер не готов.

Кот ответа сервера 100 Continue

Пример визуализации в консоли браузера:

POST /api/upload HTTP/1.1

Host: example.com

Content-Type: application/json

Content-Length: 1234

HTTP/1.1 100 Continue

Сервер сообщает, что запрос принят, а клиент может продолжить отправку данных.

Код 101 Switching Protocols

Код 101 Switching Protocols также редко отображается напрямую. Используется, когда клиент запрашивает изменение протокола, и сервер это подтверждает, например, переход с HTTP/1.1 на WebSocket. Этот код виден в инструментах разработчика, но не на веб-странице.

Кот ответа сервера 101 Switchimg Protocols

Пример визуализации в консоли браузера:

GET /socket HTTP/1.1

Host: example.com

Connection: Upgrade

Upgrade: websocket

HTTP/1.1 101 Switching Protocols

Connection: Upgrade

Upgrade: websocket

Сервер подтверждает смену протокола, что важно для улучшения взаимодействия в реальном времени, например, через WebSocket.

Код 102 Processing

Код 102 Processing используется в протоколе WebDAV, чтобы сообщить клиенту о том, что запрос принят и обрабатывается, но еще не завершен. Этот код полезен для длинных операций, чтобы избежать тайм-аутов и уведомить клиента о текущей обработке.

Кот ответа сервера 101 Processing

Пример визуализации в консоли браузера:

PROPFIND /long-operation HTTP/1.1

Host: example.com

HTTP/1.1 102 Processing

Код информирует клиента, что его запрос все еще в процессе, что важно для операций, требующих значительного времени на выполнение.

3. Успешные коды ответа сервера

Код состояния 200 OK

Код 200 OK — это самый распространенный и знакомый HTTP-код, который указывает на успешную обработку запроса. Он возвращается, когда сервер обработал запрос, например, при загрузке веб-страницы. Когда пользователь вводит URL, сервер отправляет обратно HTML-код страницы вместе с кодом 200 OK, и браузер отображает страницу.

Кот ответа сервера 200 OK

Пример визуализации в консоли браузера:

GET / HTTP/1.1

Host: example.com

HTTP/1.1 200 OK

Date: Fri, 01 Aug 2024 10:00:00 GMT

Content-Type: text/html; charset=UTF-8

Content-Length: 12 345

Код 201 Created

Код 201 Created указывает на успешное создание нового ресурса на сервере, например, новой записи в БД. Этот код часто используется при отправке данных через POST-запрос. В ответе сервер обычно добавляет заголовок Location, указывающий на URL нового ресурса.

Кот ответа сервера 201 Created

Пример визуализации в консоли браузера:

POST /api/resource HTTP/1.1

Host: example.com

Content-Type: application/json

Content-Length: 123

HTTP/1.1 201 Created

Location: example.com/api/resource/123

Content-Type: application/json

Content-Length: 234

Код 202 Accepted

Код 202 Accepted означает, что сервер принял запрос, но еще не завершил обработку. Этот код указывает на асинхронную обработку, где сервер сообщает клиенту, что запрос будет выполнен позже. Код полезен для длительных операций, где результат не известен сразу.

Кот ответа сервера 202 Accepted

Пример визуализации в консоли браузера:

POST /api/process HTTP/1.1

Host: example.com

Content-Type: application/json

Content-Length: 150

HTTP/1.1 202 Accepted

Content-Type: application/json

Retry-After: 120

Content-Length: 123

Код 204 No Content

Код 204 No Content означает, что запрос успешно выполнен, но сервер не возвращает никаких значений. Этот код часто используется, когда сервер выполнил действие, но клиент не требует обновления содержимого страницы, например, при обновлении данных через API.

Кот ответа сервера 204 No Content

Пример визуализации в консоли браузера:

PUT /api/update HTTP/1.1

Host: example.com

Content-Type: application/json

Content-Length: 100

HTTP/1.1 204 No Content

Content-Type: application/json

Content-Length: 0

Код 204 полезен, когда клиенту не нужно обновлять страницу или получать ответные данные, например, при удалении ресурса, обновлении информации и так далее.

4. Перенаправляющие коды ответа сервера

Код состояния 301 Moved Permanently

Код 301 Moved Permanently указывает, что запрашиваемый ресурс навсегда перемещен на новый URL, а все будущие запросы должны использовать новый адрес. Код 301 важен для сохранения SEO-позиций, так как передает ссылочный вес на новый URL.

Кот ответа сервера 301 Moved Permanently

Пример визуализации в консоли браузера:

GET /old-page HTTP/1.1

Host: example.com

HTTP/1.1 301 Moved Permanently

Location: example.com/new-page

Content-Type: text/html; charset=UTF-8

Код 302 Found

Код 302 Found указывает на временное перенаправление ресурса на другой URL. Клиент должен использовать новый адрес временно, но ожидать, что ресурс может вернуться на первоначальный URL. В отличие от 301, код 302 не передает полный ссылочный вес на новый адрес.

Кот ответа сервера 302 Found

Пример визуализации в консоли браузера:

GET /old-page HTTP/1.1

Host: example.com

HTTP/1.1 302 Found

Location: example.com/temporary-page

Content-Type: text/html; charset=UTF-8

Код 303 See Other

Код 303 See Other указывает, что клиент должен получить запрашиваемый ресурс с другого URL, используя метод GET. Этот код часто используется после POST-запроса для перенаправления на страницу подтверждения или результатов операции, предотвращая повторное выполнение действия при обновлении страницы.

Кот ответа сервера 303 See Other

Пример визуализации в консоли браузера:

POST /form-submit HTTP/1.1

Host: example.com

Content-Type: application/x-www-form-urlencoded

Content-Length: 150

HTTP/1.1 303 See Other

Location: example.com/confirmation

Content-Type: text/html; charset=UTF-8

Код 304 Not Modified

Код 304 Not Modified указывает, что запрашиваемый ресурс не изменился с момента последнего обращения клиента. Клиент может использовать кэшированную версию, что помогает сократить объем передаваемых данных и ускорить загрузку страниц.

Кот ответа сервера 304 Not Modified

Пример визуализации в консоли браузера:

GET /image.png HTTP/1.1

Host: example.com

If-Modified-Since: Wed, 02 Aug 2023 12:00:00 GMT

If-None-Match: «abc123»

HTTP/1.1 304 Not Modified

Last-Modified: Wed, 02 Aug 2023 12:00:00 GMT

ETag: «abc123»

5. Ошибочные коды ответа сервера (со стороны клиента)

Код состояния 400 Bad Request

Код 400 Bad Request указывает, что сервер не смог обработать запрос из-за ошибки на стороне клиента. Причины: неверный формат данных, отсутствие необходимых параметров или ошибки в синтаксисе. Код 400 сигнализирует клиенту, что запрос нужно исправить и отправить повторно.

Кот ответа сервера 400 Bad Request

Пример визуализации в консоли браузера:

POST /api/data HTTP/1.1

Host: example.com

Content-Type: application/json

Content-Length: 50

{

«name»: «John Doe»

}

HTTP/1.1 400 Bad Request

Content-Type: application/json

Content-Length: 75

{

«error»: «Invalid request»,

«message»: «Missing required parameter 'id'.»

}

Код 401 Unauthorized

Код 401 Unauthorized указывает, что запрос не выполнен из-за отсутствия действительных учетных данных. Сервер требует аутентификации для доступа к запрашиваемому ресурсу. Этот код часто используется для защищенных страниц или API, где нужно подтвердить личность пользователя.

Кот ответа сервера 401 Unauthorized

Пример визуализации в консоли браузера:

GET /protected/resource HTTP/1.1

Host: example.com

HTTP/1.1 401 Unauthorized

WWW-Authenticate: Basic realm="Access to the protected resource"

Content-Type: text/html; charset=UTF-8

Content-Length: 59

<html>

<head><title>401 Unauthorized</title></head>

<body>

<h1>Unauthorized</h1>

<p>Access is denied due to invalid credentials.</p>

</body>

</html>

Код 402 Payment Required

Код 402 Payment Required зарезервирован для будущего использования и указывает на необходимость оплаты перед получением доступа.

Кот ответа сервера 402 Payment Required

Пример визуализации в консоли браузера:

GET /premium/resource HTTP/1.1

Host: example.com

HTTP/1.1 402 Payment Required

Content-Type: application/json

Content-Length: 105

{

«error»: «Payment Required»,

«message»: «Access to this resource requires a payment.»,

«payment_url»: «http://example.com/payment»

}

Код 403 Forbidden

Код 403 Forbidden указывает, что доступ к запрашиваемому ресурсу запрещен, даже если клиент представил правильные учетные данные. Причины: ограничение доступа, заблокированные IP-адресами или политика безопасности.

Кот ответа сервера 403 Forbidden

Пример визуализации в консоли браузера:

GET /forbidden/resource HTTP/1.1

Host: example.com

HTTP/1.1 403 Forbidden

Content-Type: text/html; charset=UTF-8

Content-Length: 80

<html>

<head><title>403 Forbidden</title></head>

<body>

<h1>Forbidden</h1>

<p>You don’t have permission to access this resource.</p>

</body>

</html>

Код 404 Not Found

Код 404 Not Found указывает, что запрашиваемый ресурс не найден на сервере. Это одна из самых распространенных ошибок, возникающая, когда страница была удалена, перемещена или URL введен неверно.

Кот ответа сервера 404 Not Found

Пример визуализации в консоли браузера:

GET /nonexistent-page HTTP/1.1

Host: example.com

HTTP/1.1 404 Not Found

Content-Type: text/html; charset=UTF-8

Content-Length: 105

<html>

<head><title>404 Not Found</title></head>

<body>

<h1>404 Not Found</h1>

<p>The page you are looking for does not exist.</p>

</body>

</html>

Код 410 Gone

Код 410 Gone указывает, что запрашиваемый ресурс удален и больше недоступен на сервере. В отличие от кода 404, который может указывать на временную недоступность, код 410 сигнализирует о постоянном удалении ресурса.

Кот ответа сервера 410 Gone

Пример визуализации в консоли браузера:

GET /deleted-page HTTP/1.1

Host: example.com

HTTP/1.1 410 Gone

Content-Type: text/html; charset=UTF-8

Content-Length: 94

<html>

<head><title>410 Gone</title></head>

<body>

<h1>410 Gone</h1>

<p>The page you are looking for has been permanently removed.</p>

</body>

</html>

6. Ошибочные коды ответа сервера (со стороны сервера)

Код состояния 500 Internal Server Error

Код 500 Internal Server Error указывает на то, что сервер столкнулся с внутренней проблемой, которая помешала выполнить запрос. Это может быть связано с ошибками в коде, проблемами с серверным программным обеспечением или некорректной конфигурацией.

Кот ответа сервера 500 Internal Server Error



Причины:

  • Ошибки в серверном коде.
  • Проблемы с подключением к базе данных.
  • Неправильная конфигурация сервера.

Рекомендации:

  • Создайте пользовательскую страницу ошибки.
  • Настройте мониторинг и уведомления для быстрого реагирования.
  • Внедрите механизмы обработки ошибок в приложении.

Пример визуализации в консоли браузера:

GET /some-page HTTP/1.1

Host: example.com

HTTP/1.1 500 Internal Server Error

Content-Type: text/html; charset=UTF-8

Content-Length: 107

<html>

<head><title>500 Internal Server Error</title></head>

<body>

<h1>500 Internal Server Error</h1>

<p>An unexpected condition was encountered.</p>

</body>

</html>

Код 502 Bad Gateway

Код 502 Bad Gateway означает, что сервер, действующий как шлюз или прокси, получил некорректный ответ от вышестоящего сервера. Это часто связано с проблемами в сетевой инфраструктуре или перегрузкой вышестоящего сервера.

Кот ответа сервера 502 Bad Gateway

Пример визуализации в консоли браузера:

GET /api/resource HTTP/1.1

Host: example.com

HTTP/1.1 502 Bad Gateway

Content-Type: text/html; charset=UTF-8

Content-Length: 103

<html>

<head><title>502 Bad Gateway</title></head>

<body>

<h1>502 Bad Gateway</h1>

<p>The server received an invalid response from the upstream server.</p>

</body>

</html>

Причины:

  • Проблемы с сетевым соединением или перегрузка вышестоящего сервера.
  • Неправильная настройка серверов.

Рекомендации:

  • Создайте пользовательскую страницу ошибки.
  • Настройте мониторинг и уведомления.
  • Используйте резервные серверы для уменьшения сбоев.

Код 503 Service Unavailable

Код 503 Service Unavailable указывает на временную недоступность сервера из-за перегрузки или технического обслуживания. Это временная ошибка, и сервер обычно оповещает, когда следует повторить запрос.

Кот ответа сервера 503 Service Unavailable

Пример визуализации в консоли браузера:

GET /service HTTP/1.1

Host: example.com

HTTP/1.1 503 Service Unavailable

Content-Type: text/html; charset=UTF-8

Retry-After: 3600

Content-Length: 119



<html>

<head><title>503 Service Unavailable</title></head>

<body>

<h1>503 Service Unavailable</h1>

<p>The server is currently unable to handle the request due to temporary overload or maintenance.</p>

</body>

</html>

Применение:

  • Перегрузка сервера.
  • Техническое обслуживание.

Рекомендации:

  • Создайте пользовательскую страницу ошибки.
  • Планируйте обслуживание в периоды низкой нагрузки.
  • Настройте мониторинг и уведомления.

Код 504 Gateway Timeout

Код 504 Gateway Timeout указывает на то, что сервер, действующий как шлюз или прокси, не получил своевременный ответ от вышестоящего сервера. Это может быть связано с перегрузкой, сетевыми проблемами или недоступностью ресурса.

Кот ответа сервера 504 Gateway Timeout

Пример визуализации в консоли браузера:

GET /api/resource HTTP/1.1

Host: example.com

HTTP/1.1 504 Gateway Timeout

Content-Type: text/html; charset=UTF-8

Content-Length: 112

<html>

<head><title>504 Gateway Timeout</title></head>

<body>

<h1>504 Gateway Timeout</h1>

<p>The server did not receive a timely response from the upstream server.</p>

</body>

</html>

Причины:

  • Перегрузка вышестоящего сервера.
  • Проблемы с сетевой инфраструктурой.
  • Долгое время обработки ресурса.

Рекомендации:

  • Создайте пользовательскую страницу ошибки.
  • Оптимизируйте инфраструктуру для уменьшения времени ожидания.
  • Настройте мониторинг и уведомления.

7. Инструменты для проверки кодов ответа сервера

Проверка кодов ответа сервера важна для оптимизации работы сайта и улучшения его SEO. Вот несколько эффективных инструментов для этого.

Онлайн-инструменты

Google Search Console
Бесплатный инструмент от Google, предоставляющий данные о состоянии сайта, включая коды ответа сервера.
Функции: отчеты об ошибках сканирования, статус индексации, проблемы с мобильной версией.

Screaming Frog SEO Spider
Десктопное приложение для сканирования сайта с детальной информацией о кодах ответа.
Функции: полный аудит сайта, выявление битых ссылок.

Ahrefs
Популярный SEO-инструмент, предоставляющий данные о состоянии сайта и кодах ответа.
Функции: аудит сайта, проверка ссылок, анализ контента.

GTmetrix
Онлайн-инструмент для анализа производительности сайта и кодов ответа сервера.
Функции: анализ скорости загрузки, рекомендации по оптимизации.

Браузерные плагины

Redirect Path (Chrome, Firefox)
Плагин, показывающий коды ответа сервера для всех запрашиваемых URL.
Функции: проверка редиректов, выявление ошибок 4xx и 5xx.

HTTP Headers (Chrome)
Плагин для просмотра заголовков HTTP-запросов и ответов.
Функции: отображение всех заголовков запросов и ответов, включая коды ответа.

Серверные логи и анализаторы логов

Журналы доступа Apache/Nginx
Логи веб-сервера содержат информацию о всех запросах, включая коды ответа.
Функции: запись всех запросов к серверу, включая дату и время, IP-адрес, URL.

GoAccess
Инструмент для анализа логов в реальном времени с детализированными отчетами.
Функции: графические отчеты, поддержка различных форматов логов.

AWStats
Бесплатный инструмент для анализа логов сервера с подробными отчетами о посещаемости и кодах ответа.
Функции: статистические отчеты, графики, поддержка множества форматов логов.

Использование этих инструментов позволяет оперативно выявлять и устранять проблемы на сайте, улучшая его производительность и пользовательский опыт.

Если ваш сайт сталкивается с проблемами индексации, медленно загружается или теряет позиции в поисковой выдаче, пришло время принять меры. Мы предлагаем комплексные решения для анализа и оптимизации серверных кодов ответа, которые помогут вам устранить ошибки и повысить видимость сайта.

Оставляйте заявку, и мы вместе добьемся значительных результатов!

Узнать стоимость и условия

* — поля, обязательные для заполнения
г. Минск, ул. Притыцкого, 2/3, 3 этаж, офис 23