Перейти к содержимому
Skip to content
← Все статьи

HTTP коды ответов: полный справочник с примерами

HTTP коды состояния — это трёхзначные числа, которые сервер возвращает в ответ на запрос клиента. Они сообщают, что произошло с запросом: успех, перенаправление, ошибка клиента или сервера. Понимание кодов помогает отлаживать проблемы, настраивать мониторинг сайтов и улучшать SEO.

Классификация кодов

ДиапазонКатегорияОписание
1xxИнформационныеЗапрос принят, обработка продолжается
2xxУспехЗапрос выполнен успешно
3xxПеренаправлениеТребуется дополнительное действие для завершения
4xxОшибка клиентаЗапрос содержит ошибку или не может быть выполнен
5xxОшибка сервераСервер не смог обработать валидный запрос

1xx — Информационные

100 Continue

Сервер получил заголовки запроса и клиент может продолжать отправку тела. Используется при отправке больших данных: клиент сначала отправляет заголовок Expect: 100-continue, и только после получения 100 отправляет тело.

101 Switching Protocols

Сервер переключает протокол по запросу клиента. Типичный случай — upgrade с HTTP на WebSocket:

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade

103 Early Hints

Новый код, позволяющий серверу отправить предварительные заголовки (например, Link для preload) до формирования основного ответа. Ускоряет загрузку страницы.

2xx — Успех

200 OK

Стандартный успешный ответ. Тело ответа зависит от метода: для GET — запрошенный ресурс, для POST — результат операции.

201 Created

Ресурс успешно создан. Обычно возвращается после POST. Заголовок Location указывает на URL нового ресурса:

HTTP/1.1 201 Created
Location: /api/users/42
Content-Type: application/json

{"id": 42, "name": "John"}

204 No Content

Успех, но тело ответа пустое. Типичный ответ для DELETE и PUT, когда возвращать данные не нужно.

206 Partial Content

Сервер вернул часть ресурса по заголовку Range. Используется для докачки файлов и видеостриминга:

HTTP/1.1 206 Partial Content
Content-Range: bytes 0-999/5000
Content-Length: 1000

3xx — Перенаправление

301 Moved Permanently

Постоянный редирект. Поисковые системы переносят весь ссылочный вес на новый URL. Используйте при смене домена, переходе на SSL/TLS проверку, изменении структуры URL.

Для SEO: 301 — правильный выбор при постоянном переезде. Поисковики удалят старый URL из индекса.

302 Found

Временный редирект. Поисковики сохраняют исходный URL в индексе. Используйте для временного обслуживания или A/B тестов.

Внимание: некоторые клиенты могут сменить метод на GET. Если важно сохранить метод — используйте 307.

304 Not Modified

Ресурс не изменился с момента последнего запроса. Браузер использует кэшированную версию. Работает вместе с ETag и If-None-Match:

GET /style.css HTTP/1.1
If-None-Match: "abc123"

HTTP/1.1 304 Not Modified
ETag: "abc123"

307 Temporary Redirect

Временный редирект с гарантированным сохранением метода и тела запроса. Безопаснее 302 для POST-запросов.

308 Permanent Redirect

Постоянный редирект с сохранением метода. Как 301, но гарантирует, что метод не изменится на GET.

4xx — Ошибки клиента

400 Bad Request

Некорректный запрос — неправильный синтаксис, невалидные параметры, нарушение формата. В API документацию полезно возвращать описание ошибки в теле ответа.

401 Unauthorized

Требуется аутентификация. Сервер должен вернуть заголовок WWW-Authenticate с указанием схемы аутентификации (Bearer, Basic и т.д.).

Отличие от 403: 401 означает «вы не представились», 403 — «вы представились, но доступ запрещён».

403 Forbidden

Сервер понял запрос, но отказывает в доступе. Повторная аутентификация не поможет — у пользователя нет прав.

404 Not Found

Ресурс не найден. Самый известный код ошибки. Причины: удалённая страница, опечатка в URL, битая ссылка.

Для SEO: много 404 ошибок сигнализирует поисковикам о проблемах с сайтом. Настройте редиректы для удалённых страниц.

405 Method Not Allowed

HTTP-метод не поддерживается для данного URL. Заголовок Allow должен содержать допустимые методы.

409 Conflict

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

410 Gone

Ресурс удалён безвозвратно. В отличие от 404, это окончательно. Для SEO: поисковики быстрее удалят URL из индекса.

422 Unprocessable Entity

Синтаксис запроса корректен, но данные содержат семантические ошибки. Часто используется в API для ошибок валидации:

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json

{"errors": {"email": "Invalid email format", "age": "Must be positive"}}

429 Too Many Requests

Превышен лимит запросов (rate limiting). Заголовок Retry-After указывает, через сколько секунд можно повторить:

HTTP/1.1 429 Too Many Requests
Retry-After: 60

5xx — Ошибки сервера

500 Internal Server Error

Необработанная ошибка на сервере. Универсальный код для всех непредвиденных сбоев. Проверьте логи сервера.

502 Bad Gateway

Промежуточный сервер (nginx, балансировщик) получил невалидный ответ от upstream-сервера. Типичные причины: падение backend-сервера, таймаут PHP-FPM, перезагрузка приложения.

503 Service Unavailable

Сервер временно недоступен (перегрузка, техобслуживание). Используйте Retry-After для указания ожидаемого времени восстановления. Поисковики не удаляют страницу из индекса при 503.

504 Gateway Timeout

Промежуточный сервер не дождался ответа от upstream. Причины: медленный SQL-запрос, зависший backend, слишком маленький таймаут в nginx.

Коды и SEO

КодВлияние на SEO
200Страница индексируется нормально
301Ссылочный вес передаётся на новый URL
302Старый URL остаётся в индексе
404Страница удаляется из индекса (со временем)
410Быстрое удаление из индекса
503Временная недоступность, URL сохраняется

Проверьте ваш сайт прямо сейчас

Проверить →
Другие статьи: HTTP
HTTP
Полный жизненный цикл HTTP-запроса: от URL до отрендеренной страницы
16.03.2026 · 21 просм.
HTTP
Анализ серверных заголовков ответа: что они говорят о сайте
11.03.2026 · 15 просм.
HTTP
Server-Sent Events vs WebSockets: выбор технологии реального времени
16.03.2026 · 11 просм.
HTTP
HTTP/2 и HTTP/3: чем отличаются и что быстрее
13.03.2026 · 15 просм.