Transport Matrix
The important question is not just “HTTP or gRPC?” It is whether the client, proxy and server agree on a protocol all the way through.
The common choices
- Connect over plaintext HTTP/1.1: the default listener; not native gRPC.
- Native gRPC on an internal plaintext connection: set
allowHTTP1: falsefor h2c. - A mixed HTTP/1.1 and HTTP/2 port: use TLS + ALPN, or a suitable proxy.
A single plaintext listener does not automatically serve both HTTP versions. Bidirectional streaming must stay on HTTP/2, including through intermediaries.
Go deeper
- The complete support matrix, startup diagnostics and residual risks.
- Historical measurements and untested combinations.
- Configure TLS.
Find a section from the full guide
The detailed material is preserved on a separate page. Earlier section links still work here.
- Server transport modes
- RPC type support
- Serving gRPC and HTTP/1.1 on one plaintext port
- Runtime support for native gRPC
- Cloudflare Workers
- Verified behaviour by runtime
- Server side -- createServer()
- Client side -- @connectrpc/connect-node
- The two limitations are different in kind
- Not tested
- Startup validation
- Learn More