Tomcat 源码阅读(五)解析请求ProtocolHandler
2017-09-26 17:45
302 查看
环境:tomcat7.0.28
坚持一下,把源码看完,勤奋一点,不要在懒惰了,你已经落下别人很多了
本文主要介绍Tomcat连接器Connector的协议处理ProtocolHandler
二、模块解析
Tomcat的Connector主要支持两种协议,一个是Ajp 一个是Http
每种协议提供三种实现方式,分别是Apr,Nio 和 JIo
Ajp:AJP是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。WEB服务器通过TCP连接和SERVLET容器连接。为了减少进程生成socket的花费,WEB服务器和SERVLET容器之间尝试保持持久性的TCP连接,对多个请求/回复循环重用一个连接。一旦连接分配给一个特定的请求,在请求处理循环结束之前不会再分配。换句话说,在连接上,请求不是多元的。这个使连接两端的编码变得容易,虽然这导致在一时刻会有很多连接
JIo:Tomcat使用的是传统的Java I/O操作(即java.io包及其子包)。 默认的模式,性能最差,没有经过任何优化处理和支持。
NIo:java1.4及后续版本提供的一种新的I/O操作方式,Java
nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API。拥有比传统I/O操作(bio)更好的并发运行性能.
Apr:apr(Apache
Portable Runtime/Apache可移植运行时库),Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。从操作系统级别来解决异步的IO问题,大幅度的提高性能。 Tomcat
apr也是在Tomcat上运行高并发应用的首选模式。
坚持一下,把源码看完,勤奋一点,不要在懒惰了,你已经落下别人很多了
本文主要介绍Tomcat连接器Connector的协议处理ProtocolHandler
一、大体框架
1、ProtocolHandler
2、AbstractEndPoint
3、AbstractEndPoint.Handler
4、Processor
二、模块解析
Tomcat的Connector主要支持两种协议,一个是Ajp 一个是Http
每种协议提供三种实现方式,分别是Apr,Nio 和 JIo
Ajp:AJP是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。WEB服务器通过TCP连接和SERVLET容器连接。为了减少进程生成socket的花费,WEB服务器和SERVLET容器之间尝试保持持久性的TCP连接,对多个请求/回复循环重用一个连接。一旦连接分配给一个特定的请求,在请求处理循环结束之前不会再分配。换句话说,在连接上,请求不是多元的。这个使连接两端的编码变得容易,虽然这导致在一时刻会有很多连接
JIo:Tomcat使用的是传统的Java I/O操作(即java.io包及其子包)。 默认的模式,性能最差,没有经过任何优化处理和支持。
NIo:java1.4及后续版本提供的一种新的I/O操作方式,Java
nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API。拥有比传统I/O操作(bio)更好的并发运行性能.
Apr:apr(Apache
Portable Runtime/Apache可移植运行时库),Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。从操作系统级别来解决异步的IO问题,大幅度的提高性能。 Tomcat
apr也是在Tomcat上运行高并发应用的首选模式。
相关文章推荐
- Tomcat源码阅读之处理请求
- Tomcat请求处理过程(Tomcat源码解析五)
- tomcat源码解析(四)--请求过程之路径的匹配
- Tomcat 请求过程源码解析(二)
- Tomcat源码解析之连接器解析请求
- Tomcat请求处理过程(Tomcat源码解析五)
- tomcat源码解析(三)--请求过程之数据的接收
- tomcat服务器解析(七)-- Processor&Endpoint&ProtocolHandler
- springmvc源码阅读笔记 --Object handler和request请求路径查询lookupPath
- Tomcat源码阅读之请求过程
- tomcat源码阅读3
- tomcat源码阅读10
- tomcat 解析包含中文的cookie 抛警告源码分析
- Tomcat源码解析(五):Connector连接器的初始化和启动流程
- tomcat源码研读笔记—tomcat的接收请求之三 StandardHost接收请求
- tomcat源码阅读步骤二
- Tomcat源码解析(11)
- .net core 源码解析-web app是如何启动并接收处理请求
- Android HandlerThread和IntentService用法和源码解析
- tomcat源码阅读_代码篇11