gRPC - это протокол, который использует HTTP / 2.Отправляемые вами сообщения кодируются в виде кадров gRPC (5-байтовый заголовок) и упаковываются в кадры HTTP / 2 DATA.Фреймы HTTP / 2 HEADERS используются для распространения заголовков и трейлеров в начале и конце вызова.
Можно было бы использовать gRPC поверх других протоколов, хотя это менее распространено на момент написания этой статьи.Например:
- gRPC может использоваться в процессе, что означает отсутствие кодирования проводов.Вы все еще можете использовать один и тот же API-интерфейс gRPC и заглушки.Это обычно используется для тестирования
- QUIC: это протокол на основе UDP, альтернативный HTTP / 2, но имеющий семантику HTTP.Это используется в Android Java при использовании AndroidChannelBuilder.
- HTTP / 1.1: используется для gRPC Web.Некоторые незначительные изменения необходимы для протокола gRPC, но он может работать из обычных веб-браузеров, которые в настоящее время не поддерживают определенные части HTTP / 2.