Apache模块开发指南

当前位置:首页 > 计算机网络 > 计算机体系结构 > Apache模块开发指南

出版社:电子工业出版社
出版日期:2008-3
ISBN:9787121059681
作者:[英] Nick Kew
页数:558页

章节摘录

  第1章 使用Apache进行应用程序开发 :  1.2 Apache软件基金会:  Apache软件基金会(ASF)为一系列应用范围广泛的开源软件项目提供组织上、法律上和财政上的支持。Apache软件基金会建立了一整套框架来管理知识产权和财政捐献,同时,限制捐献者潜在的、合法的资源泄漏。通过精诚合作的项目开发流程,Apache项目交付了企业级的、免费获取的软件产品,吸引大量的社区用户使用。注重实效的Apache许可证(Apache License)使得无论是商业用户还是个人用户都易于部署Apache的产品。  Apache软件基金会的前身是Apache组织(Apache Group)。Apache软件基金会是一个非盈利的组织,基于成员制,以保证Apache项目在个人志愿者参与之外能够继续存在。如果个人承诺与开源软件开发项目合作,并不断地参与和贡献Apache软件基金会的项目,那么他(她)就有资格成为Apache软件基金会的成员。通过Apache基金会现有大部分成员的赞同和任命,个人才能成为软件基金会的成员。因此,Apache软件基金会为它所直接服务的社区所掌控,成员都为社区内的项目进行协作。  Apache软件基金会的成员按照基金会的规章制度,每隔一段时间选举一个董事会,管理基金会的组织事务,由董事会任命成员监管基金会的日常事务。社区亩以公开获取Apache基金会运作的记录。……

内容概要

Nick Kew是Apache应用程序的主要开发者,你可以在他的主页(apache.webthing.corn)中找到这些应用程序。他是ADache网络服务器内核开发团队和Apache软件基金会的成员,活跃在用户和开发者中间,并为他们提供支持。他还在相关的会议(如ApacheCon)上教授和展示Apache应用程序,创建并维护着www.apachetutor.org,同时在很多主流网站上撰写关于Apache的文章。

书籍目录

第1章 使用Apache进行应用程序开发
1.1 Apache Web服务器简史
1.1.1 Apache 1
1.1.2 Apache 2
1.2 Apache软件基金会
1.2.1 功绩组织模式(Meritocracy)
1.2.2 角色
1.2.3 哲学理念
1.3 Apache开发流程
1.3.1 Apache代码仓库
1.3.2 开发者论坛
1.3.3 开发人员
1.3.4 参与Apache工作
1.4 Apache和知识产权
1.4.1 Apache许可证
1.4.2 第三方知识产权
1.5 进一步阅读资料
1.5.1 交互式在线论坛
1.5.2 会议
1.5.3 网站
1.6 小结
第2章 Apache平台和架构
2.1 纵览
2.2 Apache运行的两个阶段
2.2.1 启动阶段
2.2.2 运行阶段
2.2.3 停止阶段
2.3 多处理模块MPM
2.3.1 为什么需要MPM
2.3.2 UNIX类的MPM模块
2.3.3 MPM模块和操作系统
2.4 基本概念和数据结构
2.4.1 request_rec
2.4.2 server_rec
2.4.3 conn_rec
2.4.4 process_rec
2.5 其他的关键API组件
2.6 Apache配置基础
2.7 Apache的请求处理
2.7.1 内容生成
2.7.2 请求处理阶段
2.7.3 处理钩子
2.7.4 数据轴和过滤器
2.7.5 处理的顺序
2.7.6 处理钩子
2.8 小结
第3章 Apache可移植运行时库
3.1 APR
3.2 APR实用库
3.3 基本的约定
3.3.1 参考手册:API文档和Doxygen
3.3.2 命名空间
3.3.3 声明的宏
3.3.4 apr_status_t和返回值
3.3.5 条件编译
3.4 资源管理:APR池
3.4.1 资源管理的问题
3.4.2 APR池
3.4.3 资源的生命周期
3.4.4 池的局限性
3.5 精选的APR主题
3.5.1 字符串和格式
3.5.2 国际化
3.5.3 时间和日期
3.5.4 数据结构
3.5.5 Bucket和Brigade
3.5.6 文件系统
3.5.7 网络
3.5.8 编码和密码
3.5.9 URI处理
3.5.10 进程和线程
3.5.11 资源池
3.5.12 API扩展
3.6 APR/Apache中的数据库
3.6.1 DMB和apr_dbm模块
3.6.2 SQL数据库和apr_dbd
3.7 小结
第4章 编程技巧和忠告
4.1 Apache编程约定
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.1 HelloWorld模块
5.1.1 模块构架
5.1.2 返回值
5.1.3 处理器的字段
5.1.4 完整的模块
5.1.5 使用request_rec对象
5.2 请求、响应和环境
5.2.1 I/O模块
5.2.2 读取表单数据
5.3 默认的处理器
5.4 小结
第6章 请求处理周期和元数据处理器
6.1 HTTP超文本传输协议
6.1.1 HTTP协议
6.1.2 解构HTTP请求
6.2 Apache的请求处理过程
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.2 AAA的概览
7.3 Apache1.x和2.0中的AAA
7.4 Apache2.1/2.2中的AAA
7.4.1 基于主机的访问控制
7.4.2 认证:check_user_id
7.4.3 密码查询(password lookup)
7.4.4 授权
7.5 AAA逻辑
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章 过滤模块
8.1 输入过滤器和输出过滤器
8.2 内容过滤器、协议过滤器和连接过滤器
8.3 剖析过滤器
8.3.1 回调函数
8.3.2 流水线
8.4 过滤器API和对象
8.4.1 输出过滤器
8.4.2 输入过滤器
8.5 过滤器对象
8.6 过滤器输入/输出
8.7 巧妙的Apache 2.2过滤机制
8.7.1 预处理和后处理
8.7.2 mod_filter
8.7.3 过滤器的自配置
8.7.4 协议处理
8.8 示例:通过直接操作Bucket来过滤文本
8.8.1 Bucket函数
8.8.2 过滤器
8.9 复杂解析
8.10 使用现有的解析器进行过滤
8.11 类似stdio的过滤器输入/输出
8.12 输入过滤器和Pull API
8.12.1 模式
8.12.2 阻塞(Block)
8.12.3 readbytes
8.12.4 输入过滤器示例
8.13 小结
第9章 模块配置
9.1 配置基础
9.2 配置数据结构
9.3 管理模块配置
9.3.1 模块配置
9.3.2 服务器配置和目录配置
9.4 实现配置指令
9.4.1 配置函数
9.4.2 示例
9.4.3 配置函数中的用户数据
9.4.4 封装配置函数
9.4.5 配置的作用域
9.4.6 配置函数类型
9.5 配置层次结构
9.6 配置函数中的上下文
9.6.1 上下文检查
9.6.2 方法和
9.7 定制配置容器
9.8 可选的配置方法
9.9 小结
第10章 扩展API
10.1 在Apache中实现新的函数
10.1.1 导出函数
10.1.2 可选函数
10.2 钩子与可选钩子
10.2.1 进一步研究钩子程序
10.2.2 执行顺序
10.2.3 可选钩子示例:mod_authz_dbd
10.3 提供者API
10.3.1 实现
10.3.2 实现提供者
10.4 以服务方式提供API扩展
10.4.1 例子:mod_dbd
10.4.2 实现reslist
10.5 跨平台API构建
10.5.1 使用预处理指令
10.5.2 声明模块API
10.6 小结
第11章 Apache数据库框架
11.1 对新框架的需求
11.1.1 Apache 1.x/2.0和Apache 2.2
11.1.2 连接池
11.2 DBD架构
11.3 apr_dbd API
11.3.1 数据库操作
11.3.2 API函数
11.4 使用ap_dbd API
11.5 一个示例应用模块:mod_authn_dbd
11.6 开发一个新的DBD驱动
11.6.1 apr_dbd_internal.h头文件
11.6.2 输出驱动
11.6.3 驱动函数
11.7 小结
第12章 模块调试
12.1 调试日志
12.1.1 错误日志
12.1.2 调试
12.2 在调试器中运行Apache
12.2.1 服务器的启动和调试
12.2.2 调试和多道处理模块MPM
12.2.3 追踪冲突
12.2.4 调试核心Dump
12.3 特殊用途的Hook和模块
12.3.1 标准模块
12.3.2 重大异常模块
12.3.3 处理反常运行的模块
12.4 过滤器调试
12.4.1 mod_diagnostics
12.5 小结
附录A Apache许可证
附录B 贡献者许可证协议
附录C 超文本传送协议:HTTP/1.1

编辑推荐

Apache不仅是世界上最流行的服务器,同时也是一个非常强大的可扩展的开发平台。现在ApacheTutor.org的Nick Kew撰写了《The Apache Modules Book》,本书从头到尾都以丰富的实例来指导每一个想要充分利用Apache的开发者。 Kew首先深入浅出地详细描述了Apache构架和它的API,然后讲述了你需要的所有技术——从需求处理到代码安全。PerI和PHP之类的高级语言能提高软件开发的效率,而有些开发任务必须依靠基于C的技术来完成,Kew完美地结合了C语言和高级语言的优点。利用本书中的代码样例,Kew还介绍了在其他书中甚至在其他任何地方也没有记录过的技术。

作者简介

《LAMP技术精品书廊•Apache模块开发指南》主要介绍了Apache模块开发的全过程。《LAMP技术精品书廊•Apache模块开发指南》全面细致、深入浅出,主要内容包括Apache相关背景、APR的基础知识,以及利用Apache模块开发的全过程,《LAMP技术精品书廊•Apache模块开发指南》适合广大在Apache环境下的模块开发者们阅读和参考。《LAMP技术精品书廊•Apache模块开发指南》适合Apache模块开发者、大规模服务器开发人员及Web开发者阅读。

图书封面


 Apache模块开发指南下载



发布书评

 
 


精彩短评 (总计15条)

  •     apache模块编写必备,学习中。
  •     稀有题材啊
  •     但要先说明,是开发在Apache里使用的模块,不是利用Apache来开发网站。是用C写代码的,建议在Unix/Linux环境里
  •     外包装一般。
  •     其它地方(包括网上)很少能如此全面介绍这些内容。
  •     帮朋友买的 应该还不错 一口气买了四百块的书 ~~
  •     这本书看起来脉络还算清楚,正在学习之中。
  •     很好的Apache模块开发书,值得看看
  •     很希望了解一些实现内幕
  •     不适于初学者,中级程序员适宜,讲得很不错
  •     机器翻译的,译者真不要脸
  •     没怎么通读,只是因为需要自己写一个Filter,拿起来大概的参考了下
  •     附录的RFC2616中文版。
  •     写的不错,是个apache模块编写的入门工具书。
  •     总体感觉一般还没有细读
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024