Tech Talk: Developing APIs the Easy Way – Streamline your API process with an endpoint-focused approach on Dec 5 at 11 am EST! Register now

Back to blog
KUBERNETES API GATEWAY

Understanding gRPC and gRPC Web

Jake Beck
May 30, 2024 | 2 min read
Difference between gRPC and gRPC web

What’s the difference between gRPC and gRPC web?

gRPC and gRPC-Web are entirely different protocols, but ultimately were built to work together.

What is gRPC?

gRPC stands for remote procedure protocol and was developed by Google. It is a high performance, low latency messaging protocol that, when implemented, can send and receive messages to and from clients and servers concurrently, also known as fully duplex and bidirectional messaging.

gRPC sends a binary “blob” or chunk of data over HTTP/2 and because of its lightweight and efficient performance, it is often used for data communication because it can handle a lot of requests.

gRPC in Action

You can also use gRPC to define interfaces in terms of protocol buffers (“protobuf”). For example, you can use gRPC to define a service greeter and its interface, and it can generate a client and server that speaks the same protocol.

By defining exactly what you need, you can have a single service greeter in one place while implementing the client in multiple places, such as a mobile client or a back end service, with guaranteed compatibility.

What is gRPC-Web?

While similarly named, gRPC-Web is a distinctly different protocol. It exists solely in a browser and acts as a translation layer between gRPC and your application in a browser. The “web” client in gRPC-Web receives requests over HTTP 1.1 or HTTP/2 and then sends the requests through a proxy.

This proxy must understand gRPC-Web as it then translates the requests into pure gRPC for backend consumption.

The web client of gRPC-Web allows for easier coordination between the browser and back end services of your application, and continues to provide compatibility wherever you implement the protocol. It also removes the need to configure separate HTTP clients between backend services and your application.

Learn More: gRPC

Edge Stack gRPC Connections

gRPC: A lean, mean communication protocol for microservices

Thoughts on gRPC

Building High Performance APIs in Go using gRPC and Protobufs

Learn More: gRPC-Web

Ditching REST with gRPC-web and Envoy

gRPC-Web is Generally Available

Envoy and gRPC-Web: a fresh new alternative to REST

Edge Stack API Gateway

Dive deeper into the world of modern API communication protocols and learn how they can elevate your application's performance.