免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3669 | 回复: 2
打印 上一主题 下一主题

[Web] Apache源代码全景分析第二卷——体系结构和核心模块 目录 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-31 09:50 |只看该作者 |倒序浏览
目前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

论坛徽章:
0
2 [报告]
发表于 2008-12-31 10:49 |只看该作者
how much?

论坛徽章:
0
3 [报告]
发表于 2008-12-31 11:24 |只看该作者

回复 #2 ttplay 的帖子

多少钱还不知道呢。尚未定价
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP