Категории HTTP-кодов и их примеры 2xx: успешные ответы — операция выполнена 200 OK: сервер успешно обработал запрос
Что означают HTTP-коды 2xx, 3xx, 4xx и 5xx и чем отличаются 200, 201, 304, 400, 401, 403, 404 и 500?
Категории HTTP-кодов и их примеры 2xx: успешные ответы — операция выполнена 200 OK: сервер успешно обработал запрос
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Категории HTTP-кодов и их примеры
- 2xx: успешные ответы — операция выполнена
- 200 OK: сервер успешно обработал запрос
201 Created: ресурс был создан
3xx: перенаправления — для завершения нужны дополнительные действия
304 Not Modified: ресурс не менялся, можно использовать кэш
4xx: ошибки клиента — запрос сформирован некорректно
- 400 Bad Request: синтаксис запроса содержит ошибку
- 401 Unauthorized: необходимо пройти аутентификацию
- 403 Forbidden: сервер отказал в доступе
404 Not Found: запрошенный ресурс отсутствует
5xx: ошибки сервера — сбой произошёл на стороне сервера
- 500 Internal Server Error: сервер столкнулся с внутренней ошибкой
Объяснение: Коды показывают результат обработки HTTP-запроса, помогают правильно реагировать на ответы, находить неисправности и управлять обменом данными между клиентом и сервером.
Подробный ответ
Основной ответ
HTTP-коды ответов объединяют в пять категорий по первой цифре. В контексте этой темы особенно важны группы 2xx, 3xx, 4xx и 5xx: они обозначают состояние запроса и итог его обработки.
- 2xx (Успешные ответы) показывают, что сервер успешно выполнил полученный запрос.
- 3xx (Перенаправления) означают, что клиенту необходимо выполнить дополнительное действие, чаще всего перейти по другому URL.
- 4xx (Ошибки клиента) говорят о проблеме в запросе клиента — например, о неверных параметрах или недостаточных правах.
- 5xx (Ошибки сервера) сообщают, что при обработке корректного запроса на стороне сервера возникла проблема.
Примеры:
- 200 OK: запрос обработан успешно, а его результат передаётся клиенту.
- 201 Created: сервер создал ресурс, как правило, в ответ на POST-запрос.
- 304 Not Modified: после предыдущего запроса ресурс не изменился, поэтому клиент может взять его из кэша.
- 400 Bad Request: запрос некорректен или повреждён, и сервер не способен его обработать.
- 401 Unauthorized: клиенту требуется аутентификация, поскольку проверка не была пройдена.
- 403 Forbidden: сервер запрещает доступ, в том числе в случае уже выполненной аутентификации.
- 404 Not Found: сервер не обнаружил запрошенный ресурс.
- 500 Internal Server Error: во время обработки произошла внутренняя и непредвиденная ошибка сервера.
Ключевые моменты
- 2xx обозначают успешное выполнение операций; в REST API особенно часто встречаются 200 и 201.
- 3xx используются для перенаправлений, а 304, например, позволяет эффективнее работать с кэшем.
- 4xx связаны с ошибками клиента, включая проблемы валидации и доступа; основные примеры — 400, 401, 403 и 404.
- 5xx указывают на ошибки сервера и необходимость исправления либо диагностики на его стороне; 500 — наиболее общий такой код.
Практический контекст
Знание этих кодов и корректная реакция на них необходимы при создании надёжных API, отладке приложений и поддержке комфортного UX. Так, 401 и 403 применяются в системах авторизации, 304 сокращает сетевую нагрузку, а 500 требует мониторинга серверного стека с помощью Prometheus и Sentry.