歡迎您光臨本站 註冊首頁

Apache源代碼全景分析第二卷——體系結構和核心模塊 目錄

目前Apache源代碼全景分析第二卷——體系結構和核心模塊已經算是基本完成了,只剩餘少量後續工作,現在把第二卷的目錄先放出來。書上市的時間估計是 明年三月中旬。



第1章  Web伺服器概述.. 1

1.1  WWW概述.. 2

1.1.1  Internet概述.. 2

1.1.2  超文本的概念.. 3

1.1.3  WWW的歷史.. 4

1.2  HTTP伺服器.. 8

1.2.1  HTTP伺服器簡介.. 8

1.2.2  HTTP伺服器功能.. 9

1.2.2  WWW文檔.. 12

1.2.3  工作方式.. 14

1.3  Apache功能.. 17

1.3.1  虛擬主機.. 18

1.3.2  內容協商.. 18

1.3.3  持續連接.. 19

1.3.4  緩存.. 20

1.3.5  訪問控制和安全.. 22

1.3.6  動態內容生成.. 24

1.4  HTTP報文.. 25

1.4.1  HTTP協議數據流程.. 25

1.4.2  HTTP傳輸報文.. 26

第2章  Apache編譯和安裝.. 1

2.1  親手編譯能帶來的好處.. 2

2.2  預備工作.. 3

2.2.1  Apache 2.0發布模型.. 3

2.2.2  從CVS下載源代碼.. 4

2.2.3  源代碼校驗.. 5

2.2.3  解壓縮.. 7

2.3  Window平台下的源代碼編譯.. 7

2.3.1  資源要求.. 7

2.3.2  命令行編譯.. 9

2.3.3  Developer Studio集成開發環境的工作區編譯.. 10

2.3.4  項目組件.. 11

2.3.5  關於從開發樹編譯Apache的警告.. 12

2.4  Linux/Unix平台下的源代碼編譯.. 13

2.4.1  編譯的資源要求.. 13

2.4.2  默認設置安裝.. 14

2.4.3  配置選項概述.. 15

2.4.4  通用配置選項.. 16

2.4.5  代碼樹安裝目錄設置.. 17

2.4.6  默認伺服器埠、用戶以及組設置.. 18

2.4.7  模塊配置.. 18

2.4.8  Apache文件布局.. 29

2.4.9  跨平台編譯支持.. 37

2.4.10  編譯環境設置.. 40

2.4.11  使用apxs編譯Apache模塊.. 41

第3章  Apache體系結構.. 36

3.1  Apache目錄.. 37

3.2  Apache層次結構.. 39

3.2.1  操作系統支持層.. 40

3.2.2  可移植運行層.. 40

3.2.3  核心功能層.. 41

3.2.4  可選功能層.. 42

3.2.5  第三方支持庫.. 43

3.2.6  Apache工具包.. 43

3.3  Apache核心功能層.. 43

3.3.1  核心與可選模塊的關係.. 43

3.3.2  核心組件.. 44

3.4  Apache運行流程.. 48

3.4.1  Apache啟動過程.. 50

3.4.2  HTTP連接處理.. 50

3.4.3  請求報文讀取.. 51

3.4.4  請求處理.. 51

3.4.5  內容生成.. 53

3.5  主程序Main. 54

3.5.1  主程序概要.. 54

3.5.2  主程序細節.. 55

第4章  配置文件管理.. 62

4.1  Apache配置系統.. 63

4.2  配置文件.. 63

4.2.1  配置文件類.. 63

4.2.2  配置文件處理時機.. 65

4.3  指令相關概念.. 68

4.3.1  指令概述.. 68

4.3.2  指令參數.. 69

4.3.3  指令上下文.. 71

4.3.4  指令參數類型.. 84

4.4  指令配置.. 87

4.4.1  指令結構.. 87

4.4.2  指令定義.. 88

4.4.3  預定義指令函數.. 90

4.4.4 指令表.. 91

4.5  Apache配置處理.. 91

4.5.1  指令保存.. 92

4.4.2  指令讀取.. 93

4.4.3  配置指令處理.. 109

4.4.4 特殊指令.. 123

4.6  .htaccess處理.. 126

4.6.1  .htaccess使用場合.. 126

4.6.2  指令的覆蓋.. 127

4.6.3  處理.htaccess. 128

4.7  實現自己的配置段.. 131

第5章  Apache模塊化體系結構.. 130

5.1  Apache模塊概述.. 131

5.1.1  Apache模塊組成.. 131

5.1.2  Apache核心與模塊交互.. 132

5.2  Apache模塊結構.. 134

5.3  模塊的載入.. 139

5.3.1  模塊變數.. 139

5.3.2  DSO(Dynamic Shared Object,動態共享對象)的概念.. 141

5.3.3  靜態模塊載入.. 144

5.3.4  動態模塊載入.. 148

5.3.5  模塊卸載.. 153

5.4  指令表.. 154

5.4.1  指令表概述.. 154

5.4.2  指令處理函數.. 156

5.4.3  指令共享.. 159

5.5  掛鉤(HOOK) 162

5.5.1  為什麼引入掛鉤.. 162

5.5.2  聲明掛鉤.. 167

5.5.3  掛鉤數組聲明(APR_HOOK_LINK) 170

5.5.4  掛鉤結構(APR_HOOK_STRUCT) 171

5.5.5  掛鉤函數註冊(APR_IMPLEMENT_EXTERNAL_HOOK_BASE) 173

5.5.6  使用掛鉤.. 174

5.5.7  掛鉤排序.. 177

5.5.8  可選掛鉤.. 189

5.5.9  可選函數.. 193

5.5.10掛鉤縱覽.. 195

5.5.11  自己編寫掛鉤.. 203

5.6  模塊與配置文件.. 204

5.6.1  概述.. 204

5.6.2  如何描述配置信息.. 206

5.6.3  目錄相關配置(Per-Directory Config).. 207

5.6.4  針對伺服器的配置(Per-Server Config) 210

5.7  配置存儲和使用.. 211

5.7.1  配置向量.. 211

5.7.2  配置存儲體系結構.. 212

5.7.3  虛擬主機配置存儲.. 214

5.7.4  目錄配置存儲.. 215

5.7.5  Location配置存儲.. 216

5.7.6  文件配置存儲.. 217

5.7.7  總體存儲示意.. 218

5.8  常用模塊.. 220

5.8.1  緩存模塊.. 220

5.8.2  URL映射模塊.. 221

5.8.3  內容生成模塊.. 222

5.8.4  安全模塊.. 224

5.8.5  代理模塊.. 226

5.8.6  其餘模塊.. 227

第6章  Apache核心模塊CORE. 229

6.1 核心模塊結構.. 230

6.1.1 核心模塊.. 230

6.1.2 指令表.. 230

6.1.3  伺服器相關配置.. 237

6.1.4 目錄配置結構.. 240

6.2 配置段處理.. 251

6.2.1 VirtualHost配置段.. 251

6.2.2  目錄配置段.. 254

6.2.3  URL配置段處理.. 260

6.2.4  文件配置段處理.. 260

6.3 掛鉤處理.. 260

6.3.1 translate_name掛鉤.. 260

第7章  多任務併發處理.. 263

7.1 多進程併發處理概述.. 264

7.1.1 概述.. 264

7.1.2  MPM在Apache中的位置.. 265

7.2 MPM數據結構.. 268

7.2.1記分板.. 268

7.2.2  終止管道(Pipe of Death) 281

7.3  Inetd:通用的多任務處理結構.. 284

7.3.1  伺服器程序概述.. 284

7.3.2  INETD. 286

7.4  預創建(Prefork)MPM分析.. 286

7.4.1  Leader/Follow模式.. 286

7.4.2  Prefork MPM概述.. 288

7.4.3  Prefork MPM實現.. 290

7.5  工作者(Worker)MPM分析.. 330

7.5.1  Worker MPM概述.. 330

7.5.2  Worker主進程.. 335

7.5.3  子進程管理.. 345

7.5.4  線程管理.. 351

7.5.5  信號處理.. 365

7.6  WinNT MPM分析.. 367

7.6.1  WinNT MPM概述.. 367

7.6.2  WinNT MPM主程序.. 369

7.6.3  監控主進程.. 370

7.6.4  工作進程.. 374

7.6.5  線程處理.. 381

7.6.6  進程間通信.. 401

7.7  Event MPM分析.. 406

第8章  網路連接.. 409

8.1  網路連接概述.. 410

8.1.1  網路連接上下文環境.. 410

8.1.2  等待連接.. 411

8.1.3  接受連接.. 411

8.1.4  創建連接.. 411

8.2  連接數據結構.. 411

8.3  等待連接.. 414

8.3.1  概述.. 414

8.3.2  套接字創建.. 415

8.3.3  套接字偵聽.. 419

8.4  連接處理.. 425

8.4.1  連接處理概述.. 425

8.4.2  創建連接.. 426

8.4.3  連接處理.. 429

8.5  請求讀取.. 434

8.5.1  請求讀取概述.. 434

8.5.2  HTTP請求報文.. 435

8.5.3  request_rec結構.. 437

8.5.4  請求讀取實現.. 444

8.5.5  請求行讀取.. 452

8.5.6  請求頭讀取.. 454

8.5.7  網路IO讀寫.. 458

第9章  過濾器.. 459

9.1  過濾器概述.. 460

9.2  過濾器類型.. 463

9.3  過濾器結構.. 466

9.4  過濾器協議.. 468

9.5  過濾器操作.. 470

9.5.1  過濾器註冊概述.. 470

9.5.2  數據結構描述.. 470

9.5.3  過濾器結點操作.. 472

9.5.4  過濾器註冊.. 474

9.5.5  過濾器的查找.. 479

9.5.6  添加過濾器至指定請求或者連接.. 480

9.5.7  從連接中刪除過濾器.. 485

9.5.8  過濾器初始化.. 486

9.6  智能過濾器.. 487

9.6.1  何謂智能過濾器.. 487

9.6.2  智能過濾器的使用.. 491

9.6.3  智能過濾器的實現.. 492

9.7  過濾器函數.. 506

9.7.1  輸出過濾器.. 506

9.7.2  輸入過濾器.. 507

第10章  存儲段和存儲段組.. 509

10.1  什麼是存儲段和存儲段組.. 510

10.1.1  何為存儲段和存儲段組.. 510

10.1.2  為什麼需要存儲段組.. 513

10.2  存儲段分配子.. 515

10.2.1  概述.. 515

10.2.2  分配子創建.. 516

10.2.3  存儲段內存分配.. 518

10.2.4  存儲段內存釋放.. 522

10.3  存儲段操作概述.. 522

10.3.1  存儲段介面.. 522

10.3.2  存儲段空介面.. 526

10.4  存儲段類型.. 532

10.4.1  堆存儲段(Heap Bucket) 533

10.4.2  內存池存儲段(Pool Bucket) 537

10.4.3  文件存儲段(File Bucket) 540

10.4.4  MMAP存儲段(MMAP Bucket) 544

10.4.5  套接字存儲段(Socket Bucket) 547

10.4.6  管道存儲段(Pipe bucket) 549

10.4.7  持久存儲段(Immortal Bucket) 550

10.4.8  臨時存儲段(Transient Bucket).. 552

10.4.9  刷新存儲段(Flush Bucket) 553

10.4.10  流終止(EOS)存儲段.. 555

10.4.11  HTTP錯誤存儲段.. 556

10.5  存儲段操作.. 558

10.6  存儲段組操作.. 561

10.6.1  創建存儲段組.. 561

10.6.2  存儲段組的銷毀.. 562

10.6.3  存儲段組的分裂.. 562

10.6.4  統計存儲段長度.. 567

10.6.5  存儲段轉換.. 568

10.6.6  數據寫入.. 569

10.7  存儲段組和過濾器.. 576

10.7.1  存儲段組和過濾器的關係.. 576

10.7.2  獲取存儲段組.. 576

10.7.3  存儲段組傳遞.. 577

10.7.4  向客戶發送信息的時機.. 578

第11章  常用過濾器.. 1

11.1  概述.. 2

11.2  輸入過濾器.. 2

11.2.1 CORE_IN輸入過濾器.. 4

11.2.2 HTTP_IN過濾器.. 16

11.2.3 創建自己的輸入過濾器.. 27

11.3  輸出過濾器.. 29

11.3.1  資源過濾器.. 31

11.3.2  內容過濾器.. 35

11.3.3  協議過濾器.. 36

11.3.4  編碼轉換過濾器.. 53

11.3.6  網路過濾器(CORE) 56

11.3.6  編寫輸出過濾器.. 56

關於本書的更多進展請關注 http://blog.csdn.net/tingya
《解決方案》

how much?
《解決方案》

回復 #2 ttplay 的帖子

多少錢還不知道呢。尚未定價

[火星人 ] Apache源代碼全景分析第二卷——體系結構和核心模塊 目錄已經有1142次圍觀

http://coctec.com/docs/service/show-post-25159.html