Выбор ответа Middle gRPC, SOAP и другие протоколы обновлено

gRPC из браузера

Вопрос

Фронтенд хочет напрямую вызывать gRPC-сервисы из браузера. Что нужно учесть?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Браузер не даёт нужного доступа к HTTP/2, нужен gRPC-Web или BFF. Браузерные API не дают низкоуровневого доступа к HTTP/2-фреймам и трейлерам, которые нужны gRPC.

Варианты ответа

  1. Ничего: современные браузеры поддерживают gRPC нативно через fetch
  2. Нужно перейти на SOAP, он единственный работает из браузера
  3. gRPC работает в браузере только поверх WebSocket-соединения
  4. Браузер не даёт нужного доступа к HTTP/2, нужен gRPC-Web или BFFправильный ответ

Разбор

Браузерные API не дают низкоуровневого доступа к HTTP/2-фреймам и трейлерам, которые нужны gRPC. Поэтому используют gRPC-Web через прокси (например, Envoy) или ставят перед сервисами REST или GraphQL BFF. SOAP не решает задачу. WebSocket не стандартный транспорт gRPC.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.