Netty中Http客戶端、服務端的編解碼器
作爲服務端而言:
主要工作就是接收客戶端請求,將客戶端的請求內容解碼;發送響應給客戶端,並將發送內容編碼
所以,服務端需要兩個編解碼器
- HttpRequestDecoder (將請求內容解碼)
- HttpResponseEncoder (將響應內容編碼)
- HttpServerCodec (等價於上面兩個)
作爲客戶端而言:
主要工作就是發送請求給服務端,並將發送內容編碼;接收服務端響應,並將接收內容解碼;
所以,客戶端需要兩個編解碼器
- HttpResponseDecoder(將響應內容解碼)
- HttpRequestEncoder(將請求內容編碼)
- HttpClientCodec (等價於上面兩個)
Netty中Http消息聚合
處理HTTP時可能接收HTTP消息片段,Netty需要緩衝直到接收完整個消息。要完成的處理HTTP消息,並且內存開銷也不會很大,Netty爲此提供了HttpObjectAggregator。通過HttpObjectAggregator,Netty可以聚合HTTP消息,使用FullHttpResponse和FullHttpRequest到ChannelPipeline中的下一個ChannelHandler,這就消除了斷裂消息,保證了消息的完整。
轉自
https://blog.csdn.net/abc_key/article/details/38061079
https://blog.csdn.net/xiangzhihong8/article/details/52029446