Tomcat的最重要的两大组件就是网络框架Coyote和Servlet容器Catalina,前者封装了底层的网络通信(Socket请求及响应),后者负责处理具体的业务。


        Tomcat7.0.42源码研读之网络框架Coyote(六)


         Connector中介绍几个核心概念:

        

名词 描述
Endpoint Coyote通信端点,通信监听Socket的接口,是对传输层的抽象。抽象类为AbstractEndpoint
Processor Coyote协议处理接口,负责构造Request和Response对象,并通过CoyoteAdapter将其交由Catalina容器处理,是对应用层的抽象。
ProtocolHandler Coyote协议接口,通过封装Endpoint和Processor,实现针对具体协议的处理。
UpgradeProtocol HTTP升级协议,用于处理HTTP/2
   
   

      Connector处理请求如下图:

       Tomcat7.0.42源码研读之网络框架Coyote(六)


               Tomcat自8.5版本开始支持HTTP/2,相对于HTTP/1.1的改进有:

               1、采用二进制格式传输数据而非HTTP/1.1的文本格式

               2、HTTP/2对消息头采用了HPACK压缩,提升了传输效率

               3、基于帧和流的多路复用,真正实现了一个TCP连接多请求并发处理

               4、支持服务器主动推送


              HTTP/2与HTTP/1.1形象的比对图如下:

              Tomcat7.0.42源码研读之网络框架Coyote(六)


            想要详细了解HTTP/2协议的,请查看https://en.wikipedia.org/wiki/HTTP/2

            Tomcat想要配置使用HTTP/2协议的:

            Tomcat7.0.42源码研读之网络框架Coyote(六)


     

相关文章:

  • 2021-12-26
  • 2021-11-09
  • 2021-10-18
  • 2021-08-27
  • 2021-10-07
  • 2022-01-12
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-14
  • 2021-10-17
  • 2021-08-06
  • 2021-08-17
  • 2022-01-23
  • 2021-07-28
相关资源
相似解决方案