PRO

Что такое HTTP-коды ответа? Разница между 200, 201, 400, 404, 422, 500

HTTP status code — трёхзначный код в ответе сервера, который сообщает результат обработки запроса. Коды 2xx обозначают успех, 4xx — ошибку на стороне клиента, а 5xx — ошибку сервера.
Подробный ответ

Классы HTTP-кодов

ДиапазонЗначение
1xxИнформационные ответы
2xxУспешная обработка запроса
3xxПеренаправление
4xxОшибка в запросе клиента
5xxОшибка на стороне сервера

200 OK

Запрос успешно выполнен. Обычно используется для успешного получения ресурса через GET, а также может использоваться для успешного обновления с телом ответа.

GET /api/articles/42
HTTP/1.1 200 OK

201 Created

Запрос успешно выполнен, и в результате создан новый ресурс. Обычно это ответ на POST-запрос создания; полезно также вернуть URL ресурса в заголовке Location или в теле ответа.

POST /api/articles
HTTP/1.1 201 Created

400 Bad Request

Сервер не может корректно обработать запрос из-за проблемы на стороне клиента: например, невалидный JSON, неверный формат параметра или некорректная структура запроса.

404 Not Found

Сервер не нашёл запрошенный ресурс. Например, endpoint может существовать, но статья с указанным идентификатором отсутствует.

GET /api/articles/999999
HTTP/1.1 404 Not Found

422 Unprocessable Content

Запрос имеет корректный синтаксис, но не проходит семантическую проверку или валидацию. Например, поле имеет недопустимое значение, дата окончания раньше даты начала или пользователь пытается создать объект с нарушением бизнес-правила.

500 Internal Server Error

На сервере произошла непредвиденная ошибка при обработке корректного запроса. Клиент обычно не может исправить такую проблему своими данными; сервер должен записать детали в логи, вернуть безопасное сообщение и вызвать алерт при необходимости.

Пример ответа с ошибкой

{
  "detail": "Validation failed",
  "errors": {
    "email": ["Invalid email format"]
  }
}

Как ответить на собеседовании

HTTP-код показывает результат обработки запроса. 200 — успех, 201 — создан новый ресурс, 400 — некорректный запрос, 404 — ресурс не найден, 422 — синтаксис корректен, но данные не проходят валидацию или бизнес-правила, 500 — внутренняя ошибка сервера. В API важно возвращать корректные коды и понятное безопасное тело ошибки.

Оцени свой прогресс

Честно оцени своё понимание этого вопроса, чтобы мы могли построить твой учебный трек максимально эффективно.
Читать в блоге