Skip to content
CommunicationDocs 1.3.x

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.

Choose the complete transport path The wire protocol and RPC kind determine the listener choice, and each proxy leg and runtime-specific measurement must be checked independently before claiming a supported end-to-end path. Wire protocol + RPC kindConnect or native gRPC · unary or streaming Plain HTTP/1.1ConnectNo bidirectional stream Plaintext h2cHTTP/2 onlyNative gRPC + Connect TLS + ALPNNegotiated HTTP/1.1 / h2gRPC / bidi: use h2 Check configuration and evidence separately Every proxy legListener · upstream negotiationStartup checks and warnings Recorded coverageRuntime / client versionsMeasurements · untested rows HTTP/2 at the edge does not guarantee HTTP/2 reaches the application.
Native gRPC always needs HTTP/2; Connect bidirectional streaming also needs it. A plaintext listener chooses HTTP/1.1 or h2c. A mixed port needs TLS/ALPN or a suitable proxy.

The common choices ​

  • Connect over plaintext HTTP/1.1: the default listener; not native gRPC.
  • Native gRPC on an internal plaintext connection: set allowHTTP1: false for 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 ​

Find a section from the full guide

The detailed material is preserved on a separate page. Earlier section links still work here.