《Tomcat核心設計剖析》是2020年3月人民郵電出版社出版的圖書,作者是汪建。
基本介紹
- 中文名:Tomcat核心設計剖析
- 作者:汪建
- ISBN:9787115451309
- 頁數:345頁
- 定價:79元
- 出版社:人民郵電出版社
- 出版時間:2020年3月
- 裝幀:平裝
- 開本:16開
內容簡介,圖書目錄,
內容簡介
Tomcat是一 款免費的開源套用伺服器,因其性能穩定、體積小巧、擴展性好等特點而被傳統和網際網路行業廣泛套用。
《Tomcat核心設計剖析》是深入剖析Tomcat Web伺服器運行機制的quanwei圖書,共分為22章。Tomcat核心設計剖析 從Web伺服器相關的基礎知識及原理開始逐漸深入Tomcat內部設計,比如涵蓋了HTTP協定、Socket通信及伺服器模型等bibei的基礎知識。另外還包括Servlet規範,這些都是深入Tomcat必不可少的知識。然後介紹了Tomcat的啟動與關閉過程,接著從整體預覽Tomcat的內部結構,讓讀者對Tomcat內部有個整體的了解。zui後開始層層剖析Tomcat內部結構,包括Server組件,Service組件,記憶體泄漏檢測,Connector組件(HTTP協定、AJP協定、BIO模式、NIO模式和APR模式),Engine容器,Host容器,Context容器,Wrapper容器(Servlet種類機制、Comet模式、WebSocket協定、異步Servlet),生命周期管理,日誌框架及其國際化(日誌系統、日誌國際化及訪問日誌),公共與隔離的載入器(多個Web套用如何做到資源隔離),Mapper組件(局部路由、全局路由),Tomcat集成JNDI,JSP編譯器(JSP語法解析、JSP編譯成Servlet、Servlet編譯成Class),運行及通信的安全管理,處理請求和回響的管道(管道機制),多樣化的會話管理器(標準會話管理器、持久化會話管理器、集群增量會話管理器及集群備份管理器),高可用的Tomcat集群的實現(從單機到集群),Tomcat集群通信框架,Tomcat內部監控與管理。
《Tomcat核心設計剖析》適用於想深入了解Web伺服器原理、想知道在瀏覽器上點擊某個按鈕後發生的事情、想了解Tomcat內部工作原理、想基於Tomcat做二次開發的人員。
圖書目錄
第 1章 Web伺服器機制 1
1.1 通信協定 1
1.1.1 HTTP/HTTPS 1
1.1.2 HTTP請求/回響模型 3
1.1.3 解析HTTP報文 4
1.2 套接字通信 7
1.2.1 單播通信 8
1.2.2 組播通信 9
1.2.3 廣播通信 12
1.3 伺服器模型 13
1.3.1 單執行緒阻塞I/O模型 14
1.3.2 多執行緒阻塞I/O模型 15
1.3.3 單執行緒非阻塞I/O模型 16
1.3.4 多執行緒非阻塞I/O模型 19
第 2章 Servlet規範 22
2.1 Servlet接口 22
2.2 ServletRequest接口 23
2.3 ServletContext接口 23
2.4 ServletResponse接口 24
2.5 Filter接口 24
2.6 會話 25
2.7 註解 25
2.8 可插拔性 26
2.9 請求分發器 26
2.10 Web套用 26
2.11 Servlet映射 27
2.12 部署描述檔案 28
第3章 Tomcat的啟動與關閉 29
3.1 Tomcat的批處理 29
3.1.1 startup.bat 29
3.1.2 shutdown.bat 31
3.1.3 catalina.bat 31
3.1.4 setclasspath.bat 39
3.2 Tomcat中的變數及屬性 40
3.2.1 環境變數 41
3.2.2 JVM系統變數 41
3.2.3 Tomcat屬性 44
第4章 從整體預覽Tomcat 45
4.1 整體結構及組件介紹 45
4.2 請求處理的整體過程 50
第5章 Server組件與Service組件 52
5.1 Server組件 52
5.1.1 生命周期監聽器 53
5.1.2 全局命名資源 57
5.1.3 監聽SHUTDOWN命令 58
5.2 Service組件 59
第6章 Connector組件 63
6.1 HTTP阻塞模式協定—Http11Protocol 64
6.1.1 套接字接收終端—JIoEndpoint 65
6.1.2 HTTP阻塞處理器—Http11Processor 73
6.2 HTTP非阻塞模式協定—Http11NioProtocol 102
6.2.1 非阻塞接收終端—NioEndpoint 102
6.2.2 HTTP非阻塞處理器—Http11NioProcessor 111
6.3 HTTP APR模式協定—Http11AprProtocol 114
6.3.1 APR接收終端—AprEndpoint 114
6.3.2 HTTP APR處理器—Http11AprProcessor 119
6.4 AJP Connector 121
6.4.1 AJP阻塞模式協定—AjpProtocol 123
6.4.2 AJP APR模式協定—AjpAprProtocol 125
6.5 HTTP三種模式的Connector 126
6.6 AJP三種模式的Connector 126
第7章 Engine容器 127
第8章 Host容器 129
8.1 Web套用—Context 129
8.2 訪問日誌—AccessLog 130
8.3 管道—Pipeline 130
8.4 Host集群—Cluster 130
8.5 Host域—Realm 130
8.6 生命周期監聽器—HostConfig 131
8.6.1 Descriptor描述符類型 131
8.6.2 WAR包類型 132
8.6.3 類型 133
第9章 Context容器 134
9.1 Context容器的配置檔案 134
9.2 包裝器—Wrapper 135
9.3 Context域—Realm 135
9.4 訪問日誌—AccessLog 135
9.5 錯誤頁面—ErrorPage 135
9.6 會話管理器—Manager 137
9.7 上下文—DirContext 137
9.8 安全認證 138
9.9 Jar掃描器—JarScanner 138
9.10 過濾器 139
9.11 命名資源—NamingResource 140
9.12 Servlet映射器—Mapper 141
9.13 管道—Pipeline 141
9.14 Web套用載入器—WebappLoader 142
9.15 ServletContext的實現—ApplicationContext 143
9.16 實例管理器—InstanceManager 145
9.17 ServletContainerInitializer初始化器 145
9.18 Context容器的監聽器 147
9.18.1 ContextConfig監聽器 148
9.18.2 TldConfig監聽器 151
9.18.3 NamingContextListener監聽器 151
9.18.4 MemoryLeakTrackingListener監聽器 151
第 10章 Wrapper容器 154
10.1 Servlet工作機制 154
10.2 Servlet對象池 156
10.3 過濾器鏈 157
10.4 Servlet種類 158
10.5 Comet模式的支持 161
10.6 WebSocket協定的支持 163
10.7 異步Servlet 166
第 11章 生命周期管理 169
11.1 生命周期統一接口—Lifecycle 169
11.2 生命周期的狀態轉化 170
11.3 生命周期事件監聽機制 172
第 12章 日誌框架及其國際化 177
12.1 系統內日誌 177
12.2 日誌的國際化 179
12.3 客戶端訪問日誌 181
12.3.1 訪問日誌組件的設計 182
12.3.2 訪問日誌格式的自定義 184
第 13章 公共與隔離的類載入器 186
13.1 類載入器 186
13.2 自定義類載入器 189
13.3 Tomcat中的類載入器 192
13.4 類載入器工廠—ClassLoaderFactory 194
13.5 遭遇ClassNotFoundException 196
第 14章 請求URI映射器Mapper 200
14.1 請求的映射模型 200
14.2 Mapper的實現 201
14.3 局部路由Mapper 203
14.4 全局路由Mapper 204
第 15章 Tomcat的JNDI 205
15.1 JNDI簡介 205
15.2 JNDI運行機制 206
15.3 在Tomcat中集成JNDI 210
15.4 在Tomcat中使用JNDI 222
15.4.1 Web套用的局部配置方式 222
15.4.2 伺服器的全局配置方式 223
15.5 Tomcat的標準資源 226
第 16章 JSP編譯器Jasper 227
16.1 從JSP到Servlet 228
16.1.1 語法樹的生成—語法解析 228
16.1.2 語法樹的遍歷—訪問者模式 230
16.1.3 JSP編譯後的Servlet 232
16.2 從Servlet到Class位元組碼 235
16.2.1 JSR45標準 235
16.2.2 JDT Compiler編譯器 236
16.2.3 Jasper自動檢測機制 241
第 17章 運行、通信及訪問的安全管理 243
17.1 運行安全管理 243
17.1.1 Java安全管理器—SecurityManager 243
17.1.2 Tomcat的系統安全管理 246
17.1.3 安全管理器特權 248
17.2 安全的通信 249
17.2.1 SSL/TLS協定 249
17.2.2 Java安全套接字擴展—JSSE 251
17.2.3 Tomcat中SSL安全信道的實現 264
17.3 客戶端訪問認證機制 266
17.3.1 Web資源認證原理 266
17.3.2 認證模式 267
17.3.3 Realm域 272
17.3.4 Tomcat如何實現資源安全管理 273
17.3.5 如何讓你的Web具備許可權認證 274
第 18章 處理請求和回響的管道 276
18.1 管道模式—管道與閥門 276
18.2 Tomcat中的管道 280
18.3 Tomcat中的定製閥門 282
第 19章 多樣化的會話管理器 285
19.1 Web容器的會話機制 286
19.2 標準會話對象—StandardSession 287
19.3 增量會話對象—DeltaSession 288
19.4 標準會話管理器—StandardManager 290
19.5 持久化會話管理器—PersistentManager 291
19.5.1 FileStore 292
19.5.2 JDBCStore 293
19.6 集群增量會話管理器—DeltaManager 294
19.7 集群備份會話管理器—BackupManager 296
19.7.1 機制與原理 297
19.7.2 高可用性及故障轉移機制 299
19.7.3 集群RPC通信 301
19.8 Tomcat會話管理器的集成 308
第 20章 高可用的集群實現 311
20.1 從單機到集群的會話管理 311
20.1.1 單機模式 311
20.1.2 集群模式 313
20.2 Cluster組件 315
20.3 Tomcat的Cluster工作機制 317
20.4 Tomcat中Cluster的級別 318
20.5 如何讓Tomcat實現集群功能 318
第 21章 集群通信框架 320
21.1 Tribes簡介 320
21.2 集群成員維護服務—MembershipService 321
21.3 平行的訊息傳送通道—ChannelSender 325
21.4 訊息接收通道—ChannelReceiver 327
21.5 通道攔截器—ChannelInterceptor 328
21.6 套用層處理入口—MembershipListener與ChannelListener 331
21.7 如何使用Tribes進行數據傳輸 332
21.8 Tomcat使用Tribes同步會話 334
21.9 Tomcat使用Tribes部署集群套用 334
第 22章 監控與管理 337
22.1 Java管理擴展—JMX 337
22.1.1 JMX的基本結構 337
22.1.2 JMX例子 338
22.2 JMX管理下的Tomcat 339
22.3 ManagerServlet 343