Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Golang: grpc, http2, protocol, rpc

Как работает gRPC поверх HTTP/2?

Вопрос проверяет понимание взаимодействия gRPC с HTTP/2 и преимуществ этого подхода.

Короткий ответ

gRPC использует HTTP/2 для передачи бинарных данных (Protocol Buffers). Это позволяет мультиплексировать запросы, уменьшая задержки. Сервер может даже отправлять данные без запроса (server push).

Длинный ответ

1. Основы HTTP/2

  • Бинарные фреймы (не текст, как в HTTP/1.1).

  • Мультиплексирование — несколько запросов в одном соединении.

  • Server Push — сервер может сам отправить данные.

2. Как gRPC использует HTTP/2

  • Запросы и ответы сериализуются в Protocol Buffers (бинарный формат).

  • Каждый gRPC-вызов — это HTTP/2-поток.

  • Заголовки сжимаются (HPACK), уменьшая накладные расходы.

Пример работы:

  1. Клиент отправляет бинарный запрос (POST /service/method).

  2. Сервер отвечает так же бинарно, возможно, несколькими фреймами.

Преимущества перед REST:

  • Меньше задержек (один TCP-коннекшон для многих запросов).

  • Автоматическая генерация кода из .proto-файлов.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Golang

    Golang

Ключевые слова

#grpc

#http2

#protocol

#rpc

Подпишись на Golang Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.