Jan 30, 2026 – Support for gRPC Web
gRPC (Google Remote Procedure Call) is a high‑performance, open‑source RPC framework designed for efficient communication between services. It uses Protocol Buffers (protobuf) as its interface definition language and serialization format. Unlike traditional REST APIs that rely on text‑based JSON or XML, protobuf encodes messages into a compact binary format, reducing the payload size and improving performance.
Browsers can't natively speak full gRPC because standard gRPC requires HTTP/2 features, like bidirectional streaming, that browsers don’t expose directly. gRPC‑Web bridges this gap by providing a JavaScript‑friendly protocol that works over HTTP/1.1 or HTTP/2. A proxy, often Envoy or ASP.NET Core’s built‑in support, needs to translate between gRPC‑Web and native gRPC, allowing browser applications to call backend gRPC services seamlessly.
Akamai supports gRPC‑Web passthrough, meaning:
- Akamai forwards gRPC‑Web traffic exactly as received.
- Akamai doesn't translate gRPC‑Web into native gRPC.
- The customer origin needs to provide the translation layer, for example Envoy, ASP.NET Core gRPC‑Web middleware.
This ensures compatibility but also means the origin infrastructure needs to be prepared to handle the protocol correctly.
Caveats and limitations
- gRPC‑Web always uses HTTP POST.
All gRPC‑Web requests are POST requests, even for what would traditionally be GET‑style operations. - Akamai treats gRPC‑Web as opaque passthrough.
Akamai doesn't inspect or modify the gRPC‑Web payload. This is important because:- gRPC‑Web uses a specific framing format.
- Any modification to the response body could break the protocol.
- Attempting to transform or compress the payload may cause protocol violations.
- No in‑flight modification.
Since gRPC‑Web frames are binary and structured, altering them mid‑stream can corrupt the message. We recommend avoiding:- Response rewriting
- Body transformations
- Compression changes
- Header manipulations that violate gRPC‑Web expectations
