Ответ
HTTP статус-коды — это трехзначные числа, которые сервер возвращает в ответ на клиентский запрос. Они сгруппированы по первым цифрам (классам). Знание этих кодов критически важно для тестирования API и веб-приложений.
Основные классы и ключевые коды:
-
1xx (Информационные): Уведомления. На практике встречаются редко.
100 Continue— сервер готов принять тело запроса.
-
2xx (Успешные): Запрос успешно обработан.
200 OK— стандартный ответ для успешных GET, PUT, PATCH запросов.201 Created— ресурс успешно создан (ответ на POST).204 No Content— запрос выполнен, но тело ответа пустое (например, после успешного DELETE).
-
3xx (Перенаправления): Требуется дополнительное действие от клиента.
301 Moved Permanently— ресурс навсегда перемещен на новый URL.302 Found(или307 Temporary Redirect) — ресурс временно доступен по другому адресу.304 Not Modified— контент не изменился с момента последнего запроса (используется для кеширования).
-
4xx (Ошибки клиента): Проблема на стороне запроса.
400 Bad Request— сервер не понял запрос из-за неверного синтаксиса (например, невалидный JSON).401 Unauthorized— требуется аутентификация (клиент не представился).403 Forbidden— доступ запрещен (клиент аутентифицирован, но прав недостаточно).404 Not Found— ресурс не найден по указанному URL.429 Too Many Requests— клиент отправил слишком много запросов за короткое время (rate limiting).
-
5xx (Ошибки сервера): Проблема на стороне сервера.
500 Internal Server Error— общая ошибка сервера без конкретики.502 Bad Gateway— сервер, выступая в роли шлюза, получил невалидный ответ от вышестоящего сервера.503 Service Unavailable— сервер временно не может обработать запрос (перегрузка, техобслуживание).504 Gateway Timeout— сервер-шлюз не дождался ответа от вышестоящего сервера.
Для тестировщика: Проверка корректности возвращаемых статус-кодов — обязательная часть тестирования API. Например, при попытке удалить несуществующий ресурс должен вернуться 404, а не 500.