Версия источника: 4880e8b4372c96001c2e052be28b68a95d31252b
Синхронизировано: 2026-11-09T11:15:07.649Z
Источник: https://github.com/sergey-from-riders/vibecoding-base/tree/4880e8b4372c96001c2e052be28b68a95d31252b

<a id="api-http-status"></a>

# HTTP-статусы

## Коротко

Клиент, прокси и мониторинг должны видеть результат запроса без разбора произвольного JSON.

## Плохо

```http
HTTP/1.1 200 OK
Content-Type: application/json

{"status": 404, "message": "Не найдено"}
```

## Хорошо

```http
HTTP/1.1 404 Not Found
Content-Type: application/problem+json

{"type":"about:blank","title":"Не найдено","status":404}
```

## Почему

Если ошибка замаскирована успешным кодом, инфраструктура может обработать её как успех.

## Когда применять

Для HTTP API. Поле status в Problem Details допустимо, но совпадает с реальным HTTP-кодом. Статус заказа — отдельное бизнес-поле.

## Как проверить

- Проверьте HTTP-код отсутствующего ресурса и ошибки доступа.

## Человек

Определяет бизнес-смысл ошибок и ожидаемое поведение клиента.

## Агент

Реализует серверный контракт и проверяет успешный запрос, неверный ввод и повторное обращение.

Контроль результата:

- Проверьте HTTP-код отсутствующего ресурса и ошибки доступа.

## Источники

- [RFC 9457: Problem Details for HTTP APIs](https://www.rfc-editor.org/rfc/rfc9457.html)

Уровень: Обязательно. Проверено: 2026-11-09. Изменено: 2026-11-09.

[Исходный файл](https://github.com/sergey-from-riders/vibecoding-base/blob/4880e8b4372c96001c2e052be28b68a95d31252b/registry/standards/api/openapi-modular/rules/http-status.md)
