标题：Apache模块开发指南
版权信息
书 名: Apache模块开发指南
  作　者：(英国)NICKKEW
出版社： 电子工业出版社
出版时间： 2008
ISBN: 9787121059681
开本： 16
定价: 98.00 元
作者简介
NICKKEW是Apache应用程序的主要开发者，你可以在他的主页webthing中找到这些应用程序。他是ADache网络服务器内核开发团队和Apache软件基金会的成员，活跃在用户和开发者中间，并为他们提供支持。他还在相关的会议（如ApacheCon）上教授和展示Apache应用程序，创建并维护着apachetutor，同时在很多主流网站上撰写关于Apache的文章。
编辑推荐
想通过实例学好Apache吗?本书就是一个理想的选择。让你最喜欢的编辑器和编译器时刻待命，你将会碰到让你跃跃欲试的代码。祝贺你已经挑选出了正确的书——本书正是Apache模块编程公认的标准指导。
——RichBowen，与人合著过《ApacheAdministratorsHandbook》、《ApacheCookbook》和《TheDefinitiveGuidetoApachemod_rewrite》
作为网上书店点击率最高的Apache模块编程指导，本书讲解了利用Apache模块开发应用程序的方方面面一——无论您是初学者还是经验丰富的专家，本书都是Apache开发者的必读之书。本书严谨细致、一丝不苟，其内容不仅包括了Apache模块开发最基础的知识，还涉及Apache模块开发的最佳实践、安全和调试，并且在一些章节中讲解了最受欢迎的ApacheDBD构架的一切。
——NoirinPlunkett，Apachehttpd工程的文稿起草人、ASF协商委员　会的成员
开发Apache2.X模块和应用程序独一无二的全面指导：
Apache不仅是世界上最流行的Vveb服务器，同时也是一个非常强大的可扩展的开发平台。现在ApacheTutor. org的NickKew撰写了《TheApacheModulesBook》，本书从头到尾都以丰富的实例来指导每一个想要充分利用Apache的开发者。
Kew首先深入浅出地详细描述了Apache构架和它的API，然后讲述了你需要的所有技术——从需求处理到代码安全。PerI和PHP之类的高级语言能提高软件开发的效率，而有些开发任务必须依靠基于C的技术来完成，Kew完美地结合了C语言和高级语言的优点。利用本书中的代码样例，Kew还介绍了在其他书中甚至在其他任何地方也没有记录过的技术。
包含以以下内容：
利用Apache轻型运行库来简化C的开发，并且避免了这种方法的缺点
LeveragingApacheDBD构建的应用程序，比由传统LAMP软件构建的应用程序更加容易扩展
使用最新的Apache2．X特性：过滤模块，支持XML和敏捷的代理服务器
掌握从线程安全到多平台开发的最优方法
使用Apache鉴定框架
在Apache模块和自定义的模块中跟踪和调试错误
目录
第1章使用Apache进行应用程序开发
1.1ApacheWeb服务器简史
1.1.1Apache1
1.1.2Apache2
1.2Apache软件基金会
1.2.1功绩组织模式（Meritocracy）
1.2.2角色
1.2.3哲学理念
1.3Apache开发流程
1.3.1Apache代码仓库
1.3.2开发者论坛
1.3.3开发人员
1.3.4参与Apache工作
1.4Apache和知识产权
1.4.1Apache许可证
1.4.2第三方知识产权
1.5进一步阅读资料
1.5.1交互式在线论坛
1.5.2会议
1.5.3网站
1.6小结
第2章Apache平台和架构
2.1纵览
2.2Apache运行的两个阶段
2.2.1启动阶段　　
2.2.2运行阶段
2.2.3停止阶段
2.3多处理模块MPM
2.3.1为什么需要MPM
2.3.2UNIX类的MPM模块
2.3.3MPM模块和操作系统
2.4基本概念和数据结构
2.4.1request_rec
2.4.2server_rec
2.4.3conn_rec
2.4.4process_rec
2.5其他的关键API组件
2.6Apache配置基础
2.7Apache的请求处理
2.7.1内容生成
2.7.2请求处理阶段
2.7.3处理钩子
2.7.4数据轴和过滤器
2.7.5处理的顺序
2.7.6处理钩子
2.8小结
第3章Apache可移植运行时库
3.1APR
3.2APR实用库
3.3基本的约定
3.3.1参考手册：API文档和Doxygen
3.3.2命名空间
3.3.3声明的宏
3.3.4apr_status_t和返回值
3.3.5条件编译
3.4资源管理：APR池
3.4.1资源管理的问题
3.4.2APR池
3.4.3资源的生命周期
3.4.4池的局限性
3.5精选的APR主题
3.5.1字符串和格式
3.5.2国际化
3.5.3时间和日期
3.5.4数据结构
3.5.5Bucket和Brigade
3.5.6文件系统
3.5.7网络
3.5.8编码和密码
3.5.9URI处理
3.5.10进程和线程
3.5.11资源池
3.5.12API扩展
3.6APR/Apache中的数据库
3.6.1DMB和apr_dbm模块
3.6.2SQL数据库和apr_dbd
3.7小结
第4章编程技巧和忠告
4.1Apache编程约定
4.1.1代码行
4.1.2函数
4.1.3代码块
4.1.4流控制
4.1.5声明
4.1.6注释
4.2管理模块数据
4.2.1配置向量
4.2.2生命周期域
4.3模块之间的通讯
4.4线程安全的编程问题
4.5管理持久数据
4.5.1线程安全
4.5.2内存/资源管理
4.6跨平台编程的问题
4.6.1示例：创建一个临时文件
4.7跨MPM编程问题
4.7.1进程和全局锁
4.7.2内存共享
4.8安全编程问题
4.8.1预防性原则：不要相信任何事情
4.8.2拒绝服务攻击：限制破坏
4.8.3采用操作系统来帮助你
4.9外部的依赖和库
4.9.1第三方的库
4.9.2库的最佳实践
4.9.3使用库构建模块
4.10使用其他语言编写和编译模块
4.11小结
第5章开发内容生成器
5.1HelloWorld模块
5.1.1模块构架
5.1.2返回值
5.1.3处理器的字段
5.1.4完整的模块
5.1.5使用request_rec对象
5.2请求、响应和环境
5.2.1I/O模块
5.2.2读取表单数据
5.3默认的处理器
5.4小结
第6章请求处理周期和元数据处理器
6.1HTTP超文本传输协议
6.1.1HTTP协议
6.1.2解构HTTP请求
6.2Apache的请求处理过程
6.2.1映射至文件系统
6.2.2内容协商
6.2.3安全性
6.2.4操作缓存
6.2.5私有元数据
6.2.6记录日志
6.3转移请求：内部重定向
6.3.1错误文档
6.3.2处理格式错误的请求和恶意请求
6.4采集信息：子请求
6.4.1示例
6.5开发模块
6.5.1选择文档中不同的变量
6.5.2错误处理和复用性
6.6小结
第7章AAA：访问、认证和授权
7.1安全
7.1.1认证：安全的层次
7.1.2登录Web
7.2AAA的概览
7.3Apache1.x和2.0中的AAA
7.4Apache2.1/2.2中的AAA
7.4.1基于主机的访问控制
7.4.2认证：check_user_id
7.4.3密码查询（passwordlookup）
7.4.4授权
7.5AAA逻辑
7.5.1认证和Require指令
7.5.2拒绝访问
7.5.3认证方法
7.6编写AAA模块
7.6.1一个基本认证提供者
7.6.2一个授权函数
7.6.3配置
7.6.4基本认证提供者和摘要认证提供者
7.7实现一个定制的登录机制
7.7.1使用SQL进行会话管理
7.7.2在没有浏览器认证对话框时进行认证
7.8小结
第8章过滤模块
第9章模块配置
第10章扩展API
第11章Apache数据库框架
第12章模块调试
附录AApache许可证
附录B贡献者许可证协议
附录C超文本传送协议：HTTP/1.1
致谢
索引
……