gRPC over http is a very simple proxy that simply forwards HTTP/1.1 and Websocket requests to a gRPC server. Unlike some of the bigger frameworks out there (notably grpc-gateway), grpc-over-http doesn't offer any types of transforms or path remapping, it simply forwards raw protobufs to the gRPC server.
It is expected to be run in the same process as gRPC, to avoid having to change run any additional infrastructure, or have modifications to any of the proto definitions.
The primary motivation of grpc-over-http is for environments or setups where HTTP/2 or gRPC libraries are not fully supported. Some examples include nlegacy Load Balancers, or some multi-platform client libraries.
The path for both unary and streaming requests are: /api/<service>/<Method>
Unary requests
- Method:
POST
- Content-type:
application/protobuf
- Body:
<raw-proto-bytes>
Streaming requests use websockets, where the payloads in both directions are binary messages, containing the raw proto payload.