TGViewer
Багов бояться — в прод не ходить Багов бояться — в прод не ходить @go_to_production · 584 subscribers
Post #79 572
Про HTTP-коды

Этот текст задумался мною после того, как я увидела исчерпывающую шпаргалку по статус-кодам в канале Ирины Шляпиной из «Еще один канал про QA». С тех пор, эта шпаргалка всегда под рукой

В этом посте собрала самые распространенные статус-коды и их отличия друг от друга. Подробнее про все коды состояния можно почитать здесь

Код состояния (Status Code) сообщает, как именно сервер обработал запрос. Например, код 200 означает, что все прошло успешно. А код 500 указывает на внутреннюю ошибку сервера.

Ответы сгруппированы в 5 классов:

🔘Информационные (1xx)
🔘Сообщения об успехе (2xx)
🔘Сообщения о перенаправлении (3xx)
🔘Ошибки клиента (4xx)
🔘Ошибки сервера (5xx)

Статус-коды особенно выручают, если что-то идет не так: например, по 400-ым ошибкам тестировщик понимает, что проблема в запросе, а по 500-ым — проблема в работе сервера. Эти коды помогают QA быстро понять суть проблемы и приступить к её решению

1⃣ Информационные ответы 1хх

Коды этого диапазона означают, что запрос получен и сервер продолжает его обработку

100 Continue: продолжайте

102 Processing: идёт обработка

📌 В чем разница: в первом случае — сервер получил начальную часть запроса и готов принять тело запроса, во втором — запрос принят, но обработка ещё не завершена

2⃣ Успешные ответы

Эти коды означают, что запрос клиента был принят, обработан и завершён

200 ОК: успешно

201 Created: создано

📌 В чем разница: в первом случае — успешное выполнение того, что хотел клиент, во втором — создание нового ресурса

3⃣ Сообщения о перенаправлении

Коды этого диапазона — сигнал от сервера: запрашиваемый ресурс больше не доступен по прежнему адресу или временно перемещен

301 Moved Permanently: перемещено навсегда

302 Found: найдено

📌 В чем разница: в первом случае — URL-адрес запрошенного ресурса был изменен навсегда, во втором — URI запрошенного ресурса был временно изменен

4⃣ Ошибки клиента

Указывают, что ошибка произошла по вине клиента. Например, из-за некорректного запроса, отсутствия авторизации или нарушения логики API

400 Bad Request: некорректный запрос — это общий код, сигнализирующий о том, что запрос сформирован неправильно

📌 Пример: переданы невалидные данные / в запросе отсутствуют обязательные поля

401 Unauthorized: не авторизован — доступ к ресурсу запрещен, потому что пользователь предоставил неправильные учетные данные

📌 Пример: переданы невалидные данные аутентификации / в запросе отсутствует Authorization header / время жизни токена истекло

403 Forbidden: запрещено — доступ к ресурсу запрещен, даже если клиент аутентифицирован. В отличие от 401, здесь дело не в данных пользователя, а в недостаточных правах доступа

📌 Пример: пользователь без роли manager пытается удалить другого пользователя

404 Not Found: не найдено — сервер не может найти запрашиваемый ресурс

📌 Пример: запрос к несуществующему пользователю / удаленному объекту

422 Unprocessable Entity: необрабатываемый экземпляр — данные валидны по формату, но не проходят бизнес-валидацию

📌 Пример: запрос предполагает действие, которое ограничено для лиц младше 18 лет / дата окончания раньше даты начала

5⃣ Ошибки сервера

Означают, что запрос клиента корректен, но сервер не смог его обработать из-за внутренней ошибки или временной недоступности

500 Internal Server Error: внутренняя ошибка сервера — общий код, который означает, что сервер знает, что произошла ошибка, но не может конкретизировать, что именно пошло не так

📌 Пример: неправильная настройка сервера / проблемы с базой данных / нестабильное соединение

502 Bad Gateway: плохой шлюз — означает, что сервер, действующий как шлюз или прокси, получил некорректный ответ от другого сервера

📌 Пример: внешний сервис оплаты не доступен — основной сервис возвращает 502, не сумев «достучаться до соседа»

503 Service Unavailable: сервис недоступен

📌 Пример: деплой / перезрузка сервиса

На практике же бывает всякое. Иногда вообще любой кейс возвращает 200, а внутри ответа написано про ошибку. Все это, конечно, требует внимания QA

ставь 👍 и сохраняй, чтобы не потерять

#куашная
  • 👍 15
  • 🔥 8
  • ❤ 5
More from @go_to_production
  1. Sep 18, 2026В преддверии отпуска разглядываю в Pinterest смешливые картинки, выбираю подходящий статус…
  2. Aug 14, 2026Было? 😊 #мемашная
  3. Jul 30, 2026Про внутреннее сопротивление Сопротивление — неотъемлемая часть психики. Оно присутствует…
  4. Jun 19, 2026Бодрой пятницы, друзья! #мемашная
  5. Jun 8, 2026Про кодоцентричность Как выглядит кодоцентричность в быту? Например, так. Диалог в такси.…
  6. May 21, 2026Нешуточная дискуссия развернулась у меня в LinkedIn. Вопрос к сообществу сформулирован так…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →