Ответ
Коды 4xx (Client Error) указывают, что ошибка произошла по вине клиента (некорректный запрос).
| Код | Название | Типичный сценарий | Пример причины |
|---|---|---|---|
| 400 | Bad Request | Сервер не может обработать запрос из-за неверного синтаксиса. | Невалидный JSON в теле запроса, отсутствие обязательного поля. |
| 401 | Unauthorized | Требуется аутентификация для доступа к ресурсу. | Запрос без токена или с просроченным/неверным токеном. |
| 403 | Forbidden | Сервер понял запрос, но отказывается его авторизовать. | У пользователя нет прав на удаление чужого ресурса. |
| 404 | Not Found | Сервер не нашел запрашиваемый ресурс. | Несуществующий URL или удаленный объект (например, /api/users/99999). |
| 405 | Method Not Allowed | Метод не поддерживается для данного ресурса. | Вызов DELETE для эндпоинта, который поддерживает только GET и POST. |
| 408 | Request Timeout | Сервер не дождался полного запроса от клиента. | Медленное соединение клиента, большая задержка. |
| 409 | Conflict | Запрос конфликтует с текущим состоянием сервера. | Попытка создать пользователя с уже существующим email. |
| 429 | Too Many Requests | Клиент превысил лимит запросов (rate limiting). | Слишком частые вызовы API (например, >100 запросов в минуту). |
Пример ответа 404:
HTTP/1.1 404 Not Found
Content-Type: application/json
{
"error": "Resource not found",
"message": "User with id 12345 does not exist",
"status": 404
}
Важно для тестирования: Проверять не только факт возврата кода 4xx, но и структуру тела ошибки (должна быть информативной для отладки).