• Apache模块开发指南
21年品牌 40万+商家 超1.5亿件商品

Apache模块开发指南

12.8 1.3折 98 九品

仅1件

北京朝阳
认证卖家担保交易快速发货售后保障

作者NICK KEW 著;张立强、徐建明 译

出版社电子工业出版社

出版时间2008-03

版次1

印刷时间2008-03

印次1

装帧平装

货号1-8

上书时间2021-12-01

文林书屋

七年老店
已实名 进店 收藏店铺

   商品详情   

品相描述:九品
图书标准信息
  • 作者 NICK KEW 著;张立强、徐建明 译
  • 出版社 电子工业出版社
  • 出版时间 2008-03
  • 版次 1
  • ISBN 9787121059681
  • 定价 98.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 558页
  • 字数 661千字
  • 正文语种 简体中文
  • 原版书名 The Apache Modules Book: Application Development with Apache
  • 丛书 LAMP技术精品书廊
【内容简介】

 《Apache模块开发指南》由Apache DBD框架的主架构师Nick Kew编写,是Apache模块开发的指南。本书详细介绍了Apache的架构和模块,并对Apache的发展历史、平台和架构、MPM、APR、编程技巧和规范、模块的配置、模块的扩展、模块的调试等方面进行了介绍,包括大量的示例代码,均以C语言进行描述。

 《Apache模块开发指南》适用于使用Apache web服务器的软件开发人员阅读使用。


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

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巧妙的Apache2.2过滤机制

8.7.1预处理和后处理

8.7.2mod_filter

8.7.3过滤器的自配置

8.7.4协议处理

8.8示例:通过直接操作Bucket来过滤文本

8.8.1Bucket函数

8.8.2过滤器

8.9复杂解析

8.10使用现有的解析器进行过滤

8.11类似stdio的过滤器输入/输出

8.12输入过滤器和PullAPI

8.12.1模式

8.12.2阻塞(Block)

8.12.3readbytes

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.1Apache1.x/2.0和Apache2.2

11.1.2连接池

11.2DBD架构

11.3apr_dbdAPI

11.3.1数据库操作

11.3.2API函数

11.4使用ap_dbdAPI

11.5一个示例应用模块:mod_authn_dbd

11.6开发一个新的DBD驱动

11.6.1apr_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.1mod_diagnostics

12.5小结

附录AApache许可证

附录B贡献者许可证协议

附录C超文本传送协议:HTTP/1.1

本备忘录状态

摘要

1概述

1.1目的

1.2要求

1.3术语

1.4操作概述

2符号惯例和一般语法

2.1扩充BNF

2.2基本规则

3协议参数

3.1HTTP版本

3.2统一资源标识符

3.3日期/时间格式

3.4字符集

3.5内容编码

3.6传送编码

3.7媒体类型

3.8产品记号

3.9质量值

3.10语言标签

3.11实体标签

3.12范围单位

4HTTP消息

4.1消息类型

4.2消息报头

4.3消息主体

4.4消息长度

4.5通用报头字段

5请求

5.1请求行(Request-Line)

5.2请求所标识的资源

5.3请求报头字段

6应答

6.1状态行

6.2应答报头字段

7实体

7.1实体报头字段

7.2实体主体

8连接

8.1持久连接

8.2消息传送需求

9方法定义

9.1安全和幂等的方法

9.2OPTIONS

9.3GET

9.4HEAD

9.5POST

9.6PUT

9.7DELETE

9.8TRACE

9.9CONNECT

10状态码定义

10.1用于报告的1xx

10.2成功的2xx

10.3重定向的3xx

10.4客户端错误的4xx

10.5服务器错误的5xx

11访问认证

12内容协商

12.1服务器驱动协商

12.2代理驱动协商

12.3透明协商

13HTTP中的缓存

13.1HTTP中缓存的基本设计理念

13.2过期模型

13.3验证模型

13.4应答缓存能力

13.5从缓存构造应答

13.6缓存协商的应答

13.7共享和非共享缓存

13.8错误和不完全应答缓存行为

13.9GET和HEAD的副作用

13.10刷新或删除后的无效性

13.11强制写通过

13.12缓存替换

13.13历史列表

14报头字段定义

14.1Accept(接受)

14.2Accept-Charset(接受字符集)

14.3Accept-Encoding(接受编码)

14.4Accept-Language(接受语言)

14.5Accept-Range(接受范围)

14.6Age(年龄)

14.7Allow(允许)

14.8Authorization(授权)

14.9Cache-control(缓存控制)

14.10Connection(连接)

14.11Content-Encoding(内容编码)

14.12Content-Language(内容语言)

14.13Content-Length(内容长度)

14.14Content-Location(内容位置)

14.15Content-MD5(内容的MD5值)

14.16Content-Range(内容范围)

14.17Content-Type(内容类型)

14.18Date(日期)

14.19ETag(实体标签)

14.20Expect(期望)

14.21Expire(过期)

14.22From(来自于)

14.23Host(主机)

14.24If-Match(如果匹配)

14.25If-Modified-Since(如果自从……被改变)

14.26If-None-Match(如果没有一个匹配)

14.27If-Range(如果有范围)

14.28If-Unmodified-Since(如果自从……未修改)

14.29Last-Modified(最后一次修改)

14.30Location(位置)

14.31Max-Forwards(最大化向前传送)

14.32Pragma(特殊指令)

14.33Proxy-Authenticate(代理认证)

14.34Proxy-Authorization(代理授权)

14.35Range(范围)

14.36Referer(参考者)

14.37Retry-After(稍后重试)

14.38Server(服务器)

14.39TE(传送编码)

14.40Trailer(跟踪器)

14.41Transfer-Encoding(传送编码)

14.42Upgrade(升级)

14.43User-Agent(用户代理)

14.44Vary(验证)

14.45Via(路由)

14.46Warning(警告)

14.47WWW-Authenticate(WWW-认证)

15安全考虑

15.1个人信息

15.2基于文件和路径名称的攻击

15.3DNS欺骗

15.4Location报头和欺骗

15.5Content-Disposition问题

15.6认证证书和空闲的客户端

15.7代理服务器和缓存

16致谢

17参考文献

18作者地址

19附录

19.1互联网媒体类型message/http和application/http

19.2互联网媒体类型multipart/byteranges

19.3可容忍的应用程序

19.4HTTP实体和RFC2045实体之间的区别

19.5附加特性

19.6和以前版本的兼容

20索引

21全部版权声明

致谢

索引
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP