Назовите известные статус-коды ответа от сервера
Что проверяют
Знаете ли вы коды не списком, а по смыслу групп, и умеете ли по коду сказать, чей это дефект: клиента, сервера или инфраструктуры. Для тестировщика это рабочий инструмент, код ответа попадает в баг-репорт на API первой строкой.
Как отвечать
Сначала назовите пять групп, потом ходовые коды в каждой.
2xx, успех. 200 OK это успешный ответ с телом, 201 Created отдаётся на создание ресурса и обычно несёт заголовок Location с адресом созданного, 204 No Content это успех без тела, типичный ответ на удаление.
3xx, перенаправления. 301 постоянное, 302 временное, 304 Not Modified отвечает на условный запрос и говорит, что кэш клиента актуален. Отдельно стоит знать 307 и 308: в отличие от 301 и 302, они обязаны сохранить метод и тело запроса.
4xx, ошибка на стороне клиента. 400 невалидный запрос, 401 не аутентифицирован, 403 аутентифицирован, но прав не хватает, 404 ресурс не найден, 405 метод не поддерживается, 409 конфликт состояния, 422 синтаксис верный, но данные не проходят по смыслу, 429 сработал лимит частоты.
5xx, ошибка сервера. 500 необработанное исключение, 502 неверный ответ от вышестоящего сервера, 503 сервис временно недоступен, 504 таймаут шлюза.
1xx, промежуточные: 100 Continue и 101 Switching Protocols при переходе на вебсокет.
Где спотыкаются
Путают 401 и 403. Первый означает «мы не знаем, кто вы», после него клиент должен предъявить учётные данные. Второй означает «знаем, и всё равно нельзя», повторять запрос с тем же токеном бессмысленно.
Считают любой пятисотый багом бэкенда и на этом останавливаются. Для отчёта важно отделить 500 от 502, 503 и 504: последние три часто приходят от прокси или балансировщика, и причина будет вообще не в коде сервиса.
Проверяют только код и не смотрят тело. Приложение, которое на ошибку валидации отдаёт 200 с полем error внутри, нарушает контракт, и найти это можно, только читая ответ целиком.