压缩
如何在使用 gRPC 时压缩通过网络发送的数据。
对等方之间的压缩方法不对称性
gRPC 允许不对称压缩通信,其中响应可以使用与请求不同的压缩方法进行压缩,或者根本不压缩。gRPC 对等方可以选择使用与请求不同的压缩方法进行响应,甚至完全不执行任何压缩,无论通道和 RPC 设置如何(例如,如果压缩会导致带宽使用上的小幅或负效益)。
如果客户端消息使用服务器不支持的压缩算法进行压缩,则该消息将在服务器端导致 UNIMPLEMENTED 错误状态。服务器会在响应中包含一个 grpc-accept-encoding
头,指定服务器接受的算法。
如果客户端消息使用 grpc-accept-encoding
头中列出的算法进行压缩,并且服务器返回 UNIMPLEMENTED 错误状态,则错误的原因与压缩无关。
需要注意的是,对等方可以选择不披露它支持的所有编码。然而,如果它接收到使用未披露但支持的编码压缩的消息,它将把该编码包含在响应的 grpc-accept-encoding
头中。
对于每个请求服务器使用它知道客户端不支持的算法压缩的消息(根据客户端最后接收到的 grpc-accept-encoding
头),它将以未压缩的形式发送该消息。