`
ahuango
  • 浏览: 56780 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

读 [How Tomcat Works] Chapter4

阅读更多
在Tomcat中有两大核心:Connector 和 Container。
其中Connector的职责最主要的有两个:
  • 构建Request对象
  • 构建Response对象

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

    《Tomcat运行内幕-How Tomcat Works》这本书深入解析了Java Web服务器,特别是Apache Tomcat的工作机制,对于理解和优化Java EE应用的性能至关重要。虽然提供的章节有限,但我们仍能从中获取到许多关键知识点。 ...

    HowTomcatWorks(1-6章)

    《HowTomcatWorks》系列教程主要讲解了Apache Tomcat服务器的工作原理和实现机制,涵盖了从基础到进阶的多个方面。以下是对每个章节内容的详细解读: **Chapter 00:Tomcat概述** 这一章首先介绍了Tomcat的历史背景...

    java版五子棋源码-HowTomcatWorks:HowTomcatWorks读书笔记

    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:《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版五子棋源码-My_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 ...

Global site tag (gtag.js) - Google Analytics