在Tomcat中有两大核心:Connector 和 Container。
其中Connector的职责最主要的有两个:
Tomcat中Connector把Request和Response对象传给容器的流程是:
Connector -> Container.invoke(Request, Response) -> Servlet.service
书中首先讲解了HTTP 1.1的新特性:
1. persistent connection
在之前的HTTP协议中,服务器给一个Request发送完响应内容就断开连接。这样会使得同一个HTML文档中的image/flash/applet的请求由不同的连接来完成,这样将会降低性能(connection的建立和断开很耗资源)。 而在版本1.1中,可以使用同一个connection来下载这些资源。 这一新特性需要浏览器在请求头中加入属性:
connection:keep-alive
2. Chunked Encoding
由于支持persistent connection,这样服务器可以通过同一个connection来发送不同来源的东西,同样客户端用同一个连接来发送多个请求。所以,发送这必须在HTTP Header里附上content-length以方便接收者处理。然而有写servlet可能会在一部分数据可用的时候先发送这些数据,此时整个内容的长度并不可知。
HTTP 1.1使用一个特殊头来标记发送的块数据的大小,并以CR/LF来分隔,如
1D\r\n
TEXT .....
3. 使用 100 Continue 状态
当客户端需要发送很大的数据时,为了避免发送时遭到服务器拒绝。 在发送之前先发送100 Continue头征得服务器的同意,服务器将会发送HTTP/1.1 100 Continue 表示同意。这样避免了客户端白费时间发送将被拒绝的大数据。
分享到:
相关推荐
《Tomcat运行内幕-How Tomcat Works》这本书深入解析了Java Web服务器,特别是Apache Tomcat的工作机制,对于理解和优化Java EE应用的性能至关重要。虽然提供的章节有限,但我们仍能从中获取到许多关键知识点。 ...
《HowTomcatWorks》系列教程主要讲解了Apache Tomcat服务器的工作原理和实现机制,涵盖了从基础到进阶的多个方面。以下是对每个章节内容的详细解读: **Chapter 00:Tomcat概述** 这一章首先介绍了Tomcat的历史背景...
java版五子棋源码HowTomcatWorks 《How Tomcat Works》 every chapter demo . Here's my ebook: Part of the UML diagram is as follows. 1.The default connector class diagram: 2.The class diagram of ...
Java版水果管理系统源码HowTomcatWorks 《How Tomcat Works》 every chapter demo . Here's my ebook: Part of the UML diagram is as follows. 1.The default connector class diagram: 2.The class diagram of ...
java版五子棋源码HowTomcatWorks 《How Tomcat Works》 every chapter demo . Here's my ebook: Part of the UML diagram is as follows. 1.The default connector class diagram: 2.The class diagram of ...