gRPC
A high-performance RPC framework built on HTTP/2 and Protocol Buffers, with unary and streaming calls — popular for service-to-service communication where efficiency and strict contracts matter.
What it is
gRPC uses HTTP/2 as its transport and Protocol Buffers as its binary interface language. It supports four call types: unary, server-streaming, client-streaming and bidirectional streaming — the last leveraging HTTP/2's native multiplexed streams. Contracts are defined in .proto files and code-generated for many languages.
Browsers need gRPC-Web
Because browsers cannot control HTTP/2 framing directly, calling gRPC from a browser requires the gRPC-Web variant plus a proxy (e.g. Envoy) that translates to native gRPC.
Why it matters
- Binary Protobuf and HTTP/2 streaming make it far more efficient than JSON-over-HTTP/1.1 for internal APIs.
- Strongly-typed .proto contracts reduce integration errors across services.
Common mistakes
- Terminating HTTP/2 at a proxy that downgrades to HTTP/1.1, which breaks native gRPC.
- Trying to call native gRPC directly from a browser instead of using gRPC-Web.
How WebInspect checks this
- The API Inspector reports HTTP/2 support and content types that indicate a gRPC endpoint.