这段代码有分4个部分需要关注下。 (1) 对inputBuffer的#parseRequestLine()的调用,这里主要就是读入Socket的数据并且解析出请求的URI; (2) 对inputBuffer的#parseHeaders()的调用,这里就是读取请求中的请求头了; (3) #prepareRequest()的调用,这里主要是对前两步得到的数据进行分析使用,构建处理请求的上下文属性,并且如果请求的transfer-encoding域有值,需要配置相应的Filter去处理。默认有IdentityInputFilter,ChunkedInputFilter,VoidInputFilter,BufferedInputFilter四种; (4) 对CoyoteAdapter的#service()的调用,这里就准备进入PipeLine的下一段管道了。
全文完。