2xx обозначают успех, 4xx — ошибку на стороне клиента, а 5xx — ошибку сервера.
2xx обозначают успех, 4xx — ошибку на стороне клиента, а 5xx — ошибку сервера.
Классы HTTP-кодов
| Диапазон | Значение |
|---|---|
1xx | Информационные ответы |
2xx | Успешная обработка запроса |
3xx | Перенаправление |
4xx | Ошибка в запросе клиента |
5xx | Ошибка на стороне сервера |
200 OK
Запрос успешно выполнен. Обычно используется для успешного получения ресурса через GET, а также может использоваться для успешного обновления с телом ответа.
GET /api/articles/42
HTTP/1.1 200 OK201 Created
Запрос успешно выполнен, и в результате создан новый ресурс. Обычно это ответ на POST-запрос создания; полезно также вернуть URL ресурса в заголовке Location или в теле ответа.
POST /api/articles
HTTP/1.1 201 Created400 Bad Request
Сервер не может корректно обработать запрос из-за проблемы на стороне клиента: например, невалидный JSON, неверный формат параметра или некорректная структура запроса.
404 Not Found
Сервер не нашёл запрошенный ресурс. Например, endpoint может существовать, но статья с указанным идентификатором отсутствует.
GET /api/articles/999999
HTTP/1.1 404 Not Found422 Unprocessable Content
Запрос имеет корректный синтаксис, но не проходит семантическую проверку или валидацию. Например, поле имеет недопустимое значение, дата окончания раньше даты начала или пользователь пытается создать объект с нарушением бизнес-правила.
500 Internal Server Error
На сервере произошла непредвиденная ошибка при обработке корректного запроса. Клиент обычно не может исправить такую проблему своими данными; сервер должен записать детали в логи, вернуть безопасное сообщение и вызвать алерт при необходимости.
Пример ответа с ошибкой
{
"detail": "Validation failed",
"errors": {
"email": ["Invalid email format"]
}
}Как ответить на собеседовании
HTTP-код показывает результат обработки запроса. 200 — успех, 201 — создан новый ресурс, 400 — некорректный запрос, 404 — ресурс не найден, 422 — синтаксис корректен, но данные не проходят валидацию или бизнес-правила, 500 — внутренняя ошибка сервера. В API важно возвращать корректные коды и понятное безопасное тело ошибки.
Оцени свой прогресс