netty http客户端从web服务器获取消息遇到的HttpChunk问题

有时候,Web服务器生成HTTP Response是无法在Header就确定消息大小的,这时一般来说服务器将不会提供Content-Length的头信息,而采用Chunked编码动态的提供body内容的长度。

进行Chunked编码传输的HTTP Response会在消息头部设置:

Transfer-Encoding: chunked

表示Content Body将用Chunked编码传输内容。


这样会导致  netty http客户端接收到多次返回消息,第一次消息类型是HttpResponse,后面消息类型是HttpChunk

对于每种消息都需要根据类型完成消息Decode,http的结构状态在HttpResponse消息中,

一定要处理后续的HttpChunk消息,重要!!!

遇到这个问题处理了很久,这里记录下!

原文地址:https://www.cnblogs.com/widget90/p/7815578.html