Resta saysgRPC is a fast binary RPC protocol using Protocol Buffers — great for service-to-service.
gRPC calls remote functions as if local, serializing with Protocol Buffers (compact binary, schema-defined in .proto files) over HTTP/2. It's much faster and smaller than JSON-over-HTTP and supports streaming in both directions — ideal for internal microservice communication. Browsers need a proxy (grpc-web), so it's less common for public web APIs.
Power-ups you unlock
RPC: call remote functions like local
Protocol Buffers = compact binary schema
HTTP/2, bidirectional streaming
Best for internal microservices
The 401 Bandit attacks — common mistakes
Using gRPC directly from browsers (needs grpc-web)
Choosing it for simple public APIs
Forgetting the .proto schema is the contract
Boss battleExplain why gRPC suits microservices but not a public browser API.
Example code
<!doctype html><html><head><meta charset="utf-8"></head>
<body style="background:#06040d;color:#e6e0ff;font-family:monospace;padding:20px"><pre>// user.proto
service Users {
rpc GetUser(UserId) returns (User);
}
// compact binary over HTTP/2, fast service↔service</pre></body></html>