gRPC vs HTTP статусы: разверни 👇 в чём разница?
Пост в нельзяграме -
Подписаться - https://www.instagram.com/p/DZ-T3ZijL3Y/?igsh=MTF2d3k3Znhic2sycg==
Разная философия:
HTTP описывает состояние сети и протокола (удалось ли доставить запрос?).
gRPC описывает точный программный результат вызова метода (удалось ли выполнить бизнес-логику?).
🔍 Ключевые различия:
1. Детализация: HTTP делит ошибки на категории (400, 500). gRPC даёт точную причину (нет данных, таймаут, неверный аргумент).
2. Полезная нагрузка: gRPC статус всегда содержит текстовое сообщение и может включать детальные структуры (Protobuf).
📊 Таблица соответствия (Маппинг):
✅ Успех и Клиентские ошибки:
• OK (0) → 200 OK
• INVALID_ARGUMENT (3) → 400 Bad Request
• NOT_FOUND (5) → 404 Not Found
• ALREADY_EXISTS (6) → 409 Conflict
• PERMISSION_DENIED (7) → 403 Forbidden
• UNAUTHENTICATED (16) → 401 Unauthorized
️ Серверные и Сетевые ошибки:
• DEADLINE_EXCEEDED (4) → 504 Gateway Timeout
• RESOURCE_EXHAUSTED (8) → 429 Too Many Requests
• INTERNAL (13) → 500 Internal Server Error
• UNAVAILABLE (14) → 503 Service Unavailable
• CANCELLED (1) → 499 Client Closed Request
Зачем это знать QA?
• Понимать истинную причину бага (500 в HTTP может быть чем угодно, а INTERNAL в gRPC — конкретный сбой).
• Правильно писать баг-репорты (указывать grpc-status).
• Настраивать точные алерты в мониторинге.
Приглашаю на практический курс по gRPC😉
https://stepik.org/a/254052/pay?promo=80990bdfdfea22db
✍️ С какими статусами gRPC сталкиваешься чаще всего? Пиши в комментариях! 👇
#gRPC #HTTP #тестированиеПО #QA #карьераВIT
Post #5228
1.53K






- ❤ 10
- 👍 7
- ❤🔥 2
- 🤝 1