Netty 知识整理 (2)HttpServerCodec和HttpObjectAggregator用法
GET请求
Get请求包括两个部分:
- request line(包括method,request uri,protocol version))
- header
HttpServerCodec
是netty针对http编解码的处理类,但是这些只能处理像httpget
的请求,也就是数据带在url问号后面
的http请求
POST请求
POST请求包括三个部分
- request line(包括method,request uri,protocol version))
- header
- message body
从上可以看出,当我们用POST
方式请求服务器的时候,对应的参数信息是保存在messagebody
中的,如果只是单纯的用HttpServerCodec
是无法完全的解析Http POST请求的,因为HttpServerCodec
只能获取uri
中参数,所以需要加上HttpObjectAggregator
。
HttpObjectAggregator这个netty的处理器就是为了解决这个问题而来的.它把HttpMessage
和HttpContent
聚合成为一个FullHttpRquest
或者FullHttpRsponse
,大致结构如下图所示: