500 допустим для непредвиденной ошибки сервиса, но не обязан обозначать любой сбой зависимости. Для шлюза могут точнее подходить 502 или 504; временная недоступность может выражаться 503.
Нормально ли то, что первый сервис возвращает 500 Internal Server Error, если дальше по цепочке есть проблемы? Или должно быть что-то иначе?
500 допустим для непредвиденной ошибки сервиса, но не обязан обозначать любой сбой зависимости. Для шлюза могут точнее подходить 502 или 504; временная недоступность может выражаться 503.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
500 допустим для непредвиденной ошибки сервиса, но не обязан обозначать любой сбой зависимости. Для шлюза могут точнее подходить 502 или 504; временная недоступность может выражаться 503.
502 относится к некорректному ответу upstream, а 504 — к превышению ожидания, когда сервер действует как шлюз или прокси. Не нужно слепо копировать чужой статус: внешний контракт должен описывать понятную клиенту ошибку. Иногда возможны кешированный результат или частичная деградация. Внутри нужны корреляция и диагностика, снаружи — безопасное сообщение и понятная возможность повтора без раскрытия технических секретов.
Источник: developer.mozilla.org.