juniorHTTP
Статусы 2xx, 4xx, 5xx — кто «виноват» в каждом случае?
Ответ
2xx — успех, никто не виноват: 200 OK, 201 Created (создан ресурс), 204 No Content (успех без тела). 4xx — виноват клиент: прислал кривой JSON (400), не авторизовался (401), запросил несуществующее (404), не прошёл валидацию (422). Повторять такой запрос без изменений бессмысленно. 5xx — виноват сервер: необработанное исключение (500), упавший сервис за прокси (502), перегрузка (503). Клиент прислал корректный запрос, и позже тот же запрос может пройти. Это различие важно для ретраев и мониторинга: алерты ставят на всплеск 5xx, а 4xx — обычно проблема на стороне клиента.
JSJavaScript