Что это
HTTP-коды (status codes) — трёхзначные числа, которые сервер возвращает в ответ на запрос клиента. Они сообщают о результате обработки: успех, ошибка, перенаправление. Стандартизированы в RFC 9110 (HTTP Semantics, 2022) и связанных RFC.
Этот справочник содержит 50+ самых используемых кодов с описанием на русском, разбитых по категориям. Поиск работает по номеру (например «404»), английскому названию («not found»), русскому переводу («не найдено») и тексту описания.
Категории кодов
- 1xx Informational — промежуточные ответы (100, 101, 102, 103). Используются редко, в основном для протоколов upgrade и WebDAV.
- 2xx Success — запрос успешен (200, 201, 204, 206). Базовые коды для REST API.
- 3xx Redirection — нужно дополнительное действие, обычно перейти по другому URL (301, 302, 304, 307, 308).
- 4xx Client Errors — ошибка на стороне клиента: невалидные данные, нет прав, не найдено (400, 401, 403, 404, 422, 429).
- 5xx Server Errors — ошибка на стороне сервера: баг, перегрузка, недоступность (500, 502, 503, 504).
Status codes are extensible. HTTP clients are not required to understand the meaning of all registered status codes. However, understanding the class of a status code (its first digit) is required.— RFC 9110, IETF, 2022
Самые частые в production
- 200 OK — успешный ответ. Самый частый код в логах.
- 301 / 308 — постоянный редирект. Нужны при миграции URL для сохранения SEO-веса.
- 302 / 307 — временный редирект. После авторизации, при A/B тестах.
- 304 Not Modified — кэш не устарел. До 50% запросов на статические ассеты.
- 400 Bad Request — невалидный синтаксис запроса (битый JSON).
- 401 / 403 — нет аутентификации / нет прав. Различие критично!
- 404 Not Found — самая известная ошибка в интернете.
- 422 Unprocessable — валидация формы провалена.
- 429 Too Many Requests — rate limit, обычно для API.
- 500 Internal Server Error — что-то сломалось. Самый «непонятный» код для отладки — нужно лезть в логи.
- 502 Bad Gateway — приложение упало, прокси не достучался.
- 503 Service Unavailable — перегрузка / обслуживание. Обычно с Retry-After.
- 504 Gateway Timeout — приложение слишком медленно отвечает.
Кастомные коды
IANA официально регистрирует HTTP status codes, но никто не запрещает использовать нестандартные. Известные кастомные:
- 419 Authentication Timeout — Laravel: токен CSRF протух.
- 420 Enhance Your Calm — Twitter API v1: rate limit (заменён на 429).
- 444 No Response — Nginx: закрыть соединение без ответа (для блокировки ботов).
- 499 Client Closed Request — Nginx: клиент закрыл соединение до ответа сервера.
- 520-526 — Cloudflare: специфичные ошибки CDN. 521 — origin недоступен, 522 — connection timed out, 525 — SSL handshake failed.
Эти коды не в RFC, но широко используются. В клиентских библиотеках они обрабатываются как обычные 4xx/5xx по первой цифре.
- RFC 9110 — HTTP Semantics. IETF. datatracker.ietf.org/doc/html/rfc9110. 2022.
- RFC 7725 — Status Code 451. IETF. datatracker.ietf.org/doc/html/rfc7725. 2016.
- IANA HTTP Status Code Registry. IANA. iana.org/assignments/http-status-codes. 2024.
- MDN — HTTP response status codes. Mozilla. developer.mozilla.org/en-US/docs/Web/HTTP/Status. 2024.
