The standard gRPC-Go Server implements a
ServeHTTP
method and can be used as a standard
http.Handler
of the the Go built-in HTTP2 server.
The grpcweb
package implements a wrapper around grpc.Server.ServeHTTP
that exposes the server's gRPC handlers over
gRPC-Web spec, thus making them callable from browsers.
The grpcwebproxy
is a binary that can act as a reverse proxy for other gRPC servers (in whatever language), exposing
their gRPC functionality to browsers (over HTTP2+TLS+gRPC-Web) without needing to modify their code.