socket-->socketwrapper-->socketprocessor-->
Http11Processor
--------------------解析请求行
if (!inputBuffer.parseRequestLine(keptAlive, protocol.getConnectionTimeout(), protocol.getKeepAliveTimeout())) {
------------------解析请求头
inputBuffer.parseHeaders()
Http11Protocol-->ProtocolHandle
-------------------init()
-------------------start()
------------------pause(),stop(),destory()
--------------------addSslHostConfig()
-------------------addUpgradeProtocol
-------------------create(String protocol)//根据协议i返回对应的协议实例
if("HTTP/1.1".eaquls(protocol))
return new org.apache.coyote.http11.Http11NioProtocol()
if("HTTP/1.1".eaquls(protocol))
return new new org.apache.coyote.http11.AjpNioProtocol()
else
Class clazz = class.forname(protocol)
return (ProtocolHandle)clazz..getConstructor().newInstance()
Coyote/http11/*,//http1.1协议相关处理
本文详细介绍了HTTP/1.1协议的处理流程,从socket到Http11Processor的整个过程,包括请求行和请求头的解析,以及Http11Protocol的初始化和启动方法。同时,还涉及了如何根据不同的协议创建对应的协议实例。
4630

被折叠的 条评论
为什么被折叠?



