Ответ
HTTP-статусы сгруппированы в пять классов, которые определяются первой цифрой трехзначного кода. В DevOps понимание этих статусов критически важно для мониторинга, логирования и отладки взаимодействия между сервисами.
1xx (Информационные) — запрос получен, обработка продолжается. Часто используются для управления протоколом.
- 100 Continue: Сервер готов принять тело запроса.
- 101 Switching Protocols: Сервер согласен сменить протокол (например, на WebSocket).
2xx (Успешные) — запрос успешно обработан.
- 200 OK: Стандартный ответ на успешный запрос (GET, POST и др.).
- 201 Created: Запрос привел к созданию нового ресурса (часто после POST).
- 204 No Content: Сервер успешно обработал запрос, но не возвращает никакого контента (удачное удаление).
3xx (Перенаправления) — для завершения запроса требуется дополнительное действие.
- 301 Moved Permanently: Ресурс навсегда перемещен на новый URL.
- 302 Found: Ресурс временно доступен по другому URL.
- 304 Not Modified: Используется для кэширования; ресурс не изменился с момента последнего запроса.
4xx (Ошибки клиента) — запрос содержит ошибку или не может быть выполнен.
- 400 Bad Request: Сервер не может понять запрос из-за неверного синтаксиса.
- 401 Unauthorized: Для доступа требуется аутентификация.
- 403 Forbidden: Сервер понял запрос, но отказывается его авторизовать.
- 404 Not Found: Сервер не может найти запрошенный ресурс.
- 429 Too Many Requests: Клиент отправил слишком много запросов за короткое время (rate limiting).
5xx (Ошибки сервера) — сервер не смог выполнить корректный запрос.
- 500 Internal Server Error: Общая ошибка сервера без конкретики.
- 502 Bad Gateway: Сервер, действуя как шлюз или прокси, получил неверный ответ от вышестоящего сервера.
- 503 Service Unavailable: Сервер временно не может обработать запрос (перегрузка, техобслуживание).
- 504 Gateway Timeout: Шлюз или прокси не дождался ответа от вышестоящего сервера.
Практическое использование в DevOps:
- Мониторинг: Настройка алертов на рост 5xx и 4xx ошибок в Prometheus/Grafana.
- Логирование: Анализ логов доступа (например, nginx) для выявления паттернов сбоев.
- Отладка: Использование
curlдля проверки ответов сервисов.# Проверка статуса и заголовков curl -I -X GET https://api.example.com/health # HTTP/2 200 # content-type: application/json