Jetty9源码剖析 - Connection组件 - 概述

一、概念

Connection组件就是Jetty里面逻辑连接,和一条持久的物理连接保持一致。前面说到过Connector组件是通信层组件,这里Connection在通信层上面的协议层,主要完成HTTP协议的解析、响应的处理,为Handler的处理做好前期的准备

二、继承体系

Jetty9源码剖析 - Connection组件 - 概述

可以看到继承体系还算是比较简单,其中HttpConnection就是我们的核心HTTP/1.x的处理的类,对于HTTP协议的处理,他会利用HttpParser、HttpGenerator完成协议的解析和响应报文的生成,另外Request、Response则是实现了HttpServletRequest、HttpServletResponse,后续我们应用层使用的也就是这两个类。HttpChannel作为HttpConnection与Handler的桥梁,衔接两者之间的调用,同时维护整个Request、Response状态。HttpInput实现了ServletInputStream,HttpOutput实现了ServletOutputStream,让Request、Response能有流的实现。另外值得一提的是物理连接唯一映射一条逻辑Connection、EndPoint、HttpChannel、Request、Response、HttpParser、HttpGenerator、HttpInput、HttpOutput,Jetty最一次请求完成后,会重置相关类的状态,从而能复用

上一篇:Django10_中间件和csrf请求伪造


下一篇:JavaWeb-day-51