Как по логам и кодам отличить клиентскую ошибку от серверной
Краткий ответ
HTTP-коды 4xx сигнализируют о сбоях на стороне клиента, а 5xx — на сервере. Анализируйте логи с сообщениями об ошибках и временные метки для определения места возникновения проблемы.
Развёрнуто
Краткий ответ
Для быстрой диагностики используйте HTTP-статусы: ошибки 4xx означают проблемы клиента, а 5xx — сбои на сервере. Дополнительно проверяйте логи на сообщения об ошибках и тайминги запросов, чтобы определить, где именно происходит задержка.
Как это работает
HTTP-коды ответа — основной инструмент для разделения проблем по источнику. Коды из диапазона 400-499 указывают, что запрос некорректен или не может быть обработан из-за действий клиента (например, 404 Not Found или 401 Unauthorized). Коды 500-599 означают внутренние сбои сервера (например, 500 Internal Server Error или 503 Service Unavailable).
Логи содержат сообщения, которые помогают уточнить причину и место ошибки. По временным меткам можно отследить задержки: если ответ формируется быстро, но клиент жалуется на проблемы, вероятна клиентская ошибка; если задержка большая до отправки ответа, — проблема на сервере.
| HTTP-код | Источник ошибки | Пример |
|---|---|---|
| 4xx | Клиент (ошибка запроса) | 404 Not Found, 403 Forbidden |
| 5xx | Сервер (сбой) | 500 Internal Server Error, 502 Bad Gateway |
Пример
Лог сервера:
[2024-04-27T12:00:01] ERROR 500 Internal Server Error: NullPointerException
[2024-04-27T12:00:01] Request processing time: 1200ms
Лог клиента:
[2024-04-27T12:00:02] Received HTTP 500 response
Здесь видно, что сервер вернул 500 с ошибкой и значительной задержкой — проблема на сервере.
Если бы был код 404 и быстрая обработка, скорее всего, ошибка на клиенте (неправильный URL).
Что важно знать на собеседовании
- HTTP-коды 4xx указывают на ошибки, связанные с некорректным запросом клиента.
- Коды 5xx сигнализируют о сбоях и ошибках в работе сервера.
- Анализ временных меток помогает локализовать узкое место в цепочке обработки запроса.
- Логи часто содержат подробные сообщения об ошибках, которые необходимо внимательно читать.
- Иногда проблема может быть смешанной, когда клиент отправляет некорректный запрос, а сервер неправильно его обрабатывает.
Тема: Логи и мониторинг | Уровень: middle