HttpObjectAggregator解码器:"http-aggreator"
它的作用是将多个消息转换为单一的FullHttpRequest或FullHttpResponse,原因就是Http解码器(HttpRequestDecoder,HttpResponseEncoder)在每个HTTP消息中会生成多个消息对象。
1.HttpRequest/HttpResponse
2.HttpContent
3.LastHttpContent
ChunkedWriteHandle:"http-chunked"
它的作用是支持异步发送大的码流(例如大的文件传输),但不占用过多的内存,防止发生java内存溢出错误。使用chunked编码,最后需要发送一个编码结束的空消息体,将LastHttpContent的
EMPTY_LAST_CONTENT发送到缓冲区中,标识所有的消息体已经发送完成,同时调用flush方法将之前在发送缓冲区的消息刷新到SocketChannel中发送给对方
处理handle
header->手写响应报文内容->ByteBuf->content.writeBytes(buffer)->ctx.writeAndFlush(response).addListener(ChannelFutureListener.CLOSE);
需要关注:
文件相关,读写权限