Какие статус-коды ошибок бывают? Может ли сервер отправить код 400, если проблема на его стороне?
Статус-коды ошибок в HTTP делятся на классы:
1. Классы кодов
1xx — информационные (редко используются).
2xx — успешные ответы.
3xx — перенаправления.
4xx — ошибки клиента (Client Error).
5xx — ошибки сервера (Server Error).
2. Основные коды ошибок
4xx — ошибки клиента
400 Bad Request — неверный запрос (некорректный синтаксис, невалидный JSON, неправильные параметры).
401 Unauthorized — не авторизован (отсутствует/неверный токен).
403 Forbidden — доступ запрещён, даже если токен есть.
404 Not Found — ресурс не найден.
405 Method Not Allowed — метод (GET/POST/PUT/DELETE) не поддерживается.
409 Conflict — конфликт (например, при создании ресурса с уже существующими данными).
429 Too Many Requests — превышен лимит запросов (rate limit).
5xx — ошибки сервера
500 Internal Server Error — внутренняя ошибка сервера.
502 Bad Gateway — некорректный ответ от промежуточного сервера (прокси, балансировщик).
503 Service Unavailable — сервис недоступен (перегрузка, тех. работы).
504 Gateway Timeout — не дождался ответа от следующего сервиса.
3. Может ли сервер отправить 400, если проблема на его стороне?
По спецификации: 400 всегда означает, что проблема на стороне клиента (неправильные данные в запросе).
На практике: да, сервер может ошибочно вернуть
400
, если в коде бэкенда неправильно настроена обработка ошибок. Но это будет некорректно и введёт в заблуждение. Для ошибок сервера нужно использовать5xx
.
Last updated
Was this helpful?