HttpContentDecompressor用于对收到的http请求内容进行解压
如下图1,它也是一个InboundHandler,即可以加到Pipeline链上对请求进行处理
图1
HttpContentDecompressor会判断请求头的content-encoding字段,如果值是gzip/x-gzip、deflate/x-deflate,那么会对内容进行解压,之后从头部移除content-encoding字段
HttpContentCompressor用于下行压缩,首先会看响应的content大小,如果小于阈值那么不会压缩;如果是,再看请求头的accept-encoding值,选择合适的压缩方式,对内容进行压缩,之后在响应头部加上content-encoding字段。
图2
如图2所示,netty会帮我们进行上行解压下行压缩,让后端的服务不必要关注压缩。
注意,Netty里面只支持gzip/deflate压缩。