gRPC supports message compression to reduce network traffic. Both client and server can decide whether to compress a particular message or not. Compression is handled by the Compressor interface, which has methods for compressing and decompressing messages. The gRPC protocol specifies the mechanism for indicating if a message is compressed and what algorithm was used. This information is included in the message header. If a receiver gets a compressed message but doesn’t support the specified algorithm, it will respond with an error.