gRPC is a communication protocol that enables applications to exchange direct messages in a very efficient manner. The efficiency is primarily achieved by two factors:
- Protobuf, the serialization format that gRPC uses, is designed to ensure that each message occupies as little space as possible
- gRPC is based on HTTP/2, so it uses its core features for improved performance, such as multiplexing
Unfortunately, not all client types can use the complete set of HTTP/2 features. This even includes commonly used client types, such as web browsers.