Home

HTTPgRPC

HTTPgRPC is a term used to describe a set of approaches for exposing or consuming gRPC services over HTTP-based protocols. It is not a formal protocol standard, but a collection of patterns and implementations intended to bridge the HTTP and gRPC ecosystems. HTTPgRPC typically involves translating or transcoding between HTTP/JSON or HTTP/1.x and gRPC’s HTTP/2 transport and Protobuf payloads, enabling clients that cannot speak native gRPC to access gRPC services.

gRPC is a high-performance remote procedure call framework that uses HTTP/2 for transport and Protocol Buffers

The main implementations of HTTPgRPC include gRPC-Web, which enables web browsers to call gRPC services through

Benefits of HTTPgRPC include broader client compatibility, a unified API surface, and easier integration with existing

Common use cases involve API gateways, microservice boundaries that require REST clients, and cloud-native platforms that

for
interface
definitions
and
message
serialization.
It
supports
unary,
client
streaming,
server
streaming,
and
bidirectional
streaming.
While
gRPC
is
well-suited
for
server-to-server
communication,
browser-based
clients
require
additional
mechanisms
to
interact
with
gRPC
services.
a
browser-compatible
protocol
and
a
proxy
(such
as
Envoy
or
grpcwebproxy)
to
translate
between
gRPC-Web
and
standard
gRPC.
Another
approach
is
gRPC
transcoding,
where
RESTful
HTTP/JSON
requests
are
mapped
to
gRPC
methods,
often
used
with
API
gateways
or
service
meshes
like
Google
Endpoints,
Istio,
or
Envoy.
HTTP
tooling.
Limitations
include
potential
overhead
from
transcoding,
partial
support
for
some
gRPC
features
(notably
certain
streaming
capabilities
in
some
browser
paths),
and
added
architectural
complexity.
expose
gRPC
services
to
diverse
clients.
See
also:
gRPC,
HTTP/2,
gRPC-Web,
REST/JSON
transcoding.