ISAPI实用技术指南

ISAPI实用技术指南
作 者: Clements 宋玉山 王晓冬
出版社: 清华大学出版社
丛编项: 网络技术系列丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《ISAPI实用技术指南》作者简介

内容简介

内容提要本书由经验丰富的专家编写,全书针对具体任务、基于实际解决方案,详细讲述了完成IS-API编程的各个方面,内容包括:如何从数据库中提取多媒体文件,如何开发一个消息库,怎样通过过滤器增强日志,用Delphi编写与调试ISAPI程序。另外,本书通过一些生动的实例来证明方案的有效性,针对完成特定的任务提供了可编译运行的源代码,并详细介绍了如何有效利用过滤器的技巧来完成ISAPI应用程序,以实现功能强大的交互式Web站点的开发。通过本书你还能针对自己项目的特殊需要提出更合理的设计。本书面向网络应用与开发人员。

图书目录

第1章 Internet信息服务器的编程选择

1. 1 CGI(公共网关接口)

1. 2 IDC(Internet数据库连接器)

1. 3 其他可选择的开发工具

1. 3. 1 OLEISAPl

1. 3. 2 活动服务器页面(Active Server Pa8es)

1. 3. 3 第三方解决方案

1. 4 基于ISAPI的解决方案

1. 4. 1 性能

1. 4. 2 灵活性

1. 4. 3 扩展DLL

1. 4. 4 过滤器

1. 4. 5 用ISAPI编程

1. 5 小结

第2章 使用IDC

2. 1 什么是IDC

2. 2 何时使用IDC

2. 3 IDC编程基础

2. 3. 1 IDC文件

2. 3. 2 . HTX文件

2. 4 高级IDC编程

2. 4. 1 理解IDC处理请求的顺序

2. 4. 2 使用多数据库查询

2. 4. 3 检索计算域的值

2. 4. 4 使用多值变量

2. 4. 5 HTML中的特殊字符处理

2. 4. 6 保证系统的安全

2. 5 IISl. x和IIS 2. o之间的区别

2. 5. 1 多数据库查询

2. 5. 2 适当的条件嵌套

2. 6 小结

第3章 IDC应用程序示例

3. 1 应用程序目标

3. 1. 1 消息的组织

3. 1. 2 发布新消息

3. 1. 3 主题投索

3. 1. 4 安全

3. 2 消息库应用程序数据模型

3. 2. 1 消息

3. 2. 2 议题

3. 2. 3 用户

3. 2. 4 空白表

3. 3 消息库应用程序用户界面

3. 4 消息库应用程序实霸蔓点

3. 4. 1 访问故障排除

3. 4. 2 配置系统

3. 4. 3 提供数据库中的初始数据

3. 4. 4 通过程康传播数值

3. 4. 5 排序消息响应

3. 4. 6 实霸多页搜索结果

3. 5 消息库应用程序的实霸

3. 5. 1 welcome/Login页

3. 5. 2 Main Page

3. 5. 3 Conference Message List页

3. 5. 4 View Message页

3. 5. 5 Post a Fo11ow—Up页

3. 5. 6 Post a New Topic页

3. 5. 7 Search Reqnest页

3. 5. 8 ViewSeach Results页

3. 6 小结

第4章 MFC中的基本表单处理

4. 1 Web表单

4. 2 ISAPI处理表单的优点

4. 3 在ISAPI表单处理中使用MFC的优点

4. 4 表单处理的一个简单的ISAPI扩展

4. 4. 1 设计表单

4. 4. 2 表单的HTML

4. 4. 3 处理表单数据的一个ISAPI扩展

4. 4. 4 表单处理逻辑

4. 5 HTML中的表单

4. 5. 1 表单

4. 5. 2 输入域

4. 5. 3 选择列表

4. 5. 4 文本区域

4. 6 MFC PARSEMAP

4. 6. 1 BEGIN-PARSE-MAP

4. 6. 2 ON-PARSE-COMMAND

4. 6. 3 ON-PARSE-COMMAND-PARAMS

4. 6. 4 DEFAULT—PARSE—COMMAND

4. 6. 5 END—PARSE—COMMAND

4. 7 一个更高级的表单处理例子

4. 7. 1 表单和有效验证

4. 7. 2 进程

4. 7. 3 调用表单

4. 7. 4 动态产生的HTML

4. 7. 5 处理用户的输入

4. 7. 6 动态产生HTML的优缺点

4. 8 潜在的表单处理问题

4. 8. 1 ISAPI扩展的故障排除

4. 8. 2 GET命令问题

4. 8. 3 mfcISAPIConnnnnd参数

4. 9 何时PARSE MAP不工作

4. 9. 1 带有可变内容的表单

4. 9. 2 多值域

4. 10 小结

第5章 从数据库中抽取多媒体图像

5. 1 动态多媒体网页创建

5. 1. 1 在数据库中不仅仅存档图像

5. 1. 2 生成工具

5. 2 MIME类型

5. 2. 1 更多有关MIME类型的内容:StartContent()的调用

5. 3 嵌入ISAPI响应调用

5. 3. 1 在一个ODBC数据库中存储BLOB

5. 4 图像抽取模块

5. 4. 1 使用CRecordset抽取图像

5. 4. 2 测试驱动mmGet扩展

5. 5 线程安全(thread—safe)的图像抽取

5. 6 高级话题

5. 6. 1 扩展性, 使用worker线程

5. 6. 2 用信号灯优化线程访问

5. 6. 3 在注册表中存储数据库用户的名字和口令

5. 6. 4 增强数据库用户的权限管理

5. 6. 5 使用cookie保持状态

5. 7 ISAPI扩展的故障排除

5. 8 小结

第6章 开发E—mail网关

6. 1 SMTP概述

6. 2 从网页发送邮件的最简单方法

6. 3 捕获关键信息

6. 4 实现一个SMTP Mailer DLL

6. 4. 1 SMTP Mailer API

6. 4. 2 实现SMTP Mailer

6. 5 SMTP Mailer的测试

6. 6 采用SMTP Mailer的ISAPI扩展

6. 7 LiteMail SMTP网关ISAPI扩展

6. 8 小结

第7章 理解ISAPI过滤器

7. 1 过滤器定义

7. 2 ISAPI过滤器和扩展

7. 2. 1 ISAPI过滤器应用程序

7. 3 ISAPI过滤器的寿命周期

7. 3. 1 装载和卸载过滤器

7. 3. 2 配置过滤器

7. 4 ISAPI过滤器DLL入口点

7. 4. 1 GetFilter Version()函数

7. 4. 2 HttpFilterProc()函数

7. 5 线程

7. 5. 1 资源管理

7. 5. 2 环境管理

7. 6 内存管理

7. 6. 1 使用A11ocMem()作内存管理

7. 6. 2 使用通知作内存管理

7. 7 用C建立一个过滤器

7. 7. 1 实现一个简单的过滤器

7. 7. 2 运行过滤器

7. 7. 3 理解过滤器输出

7. 8 MFC过滤器支持

7. 8. 1 CHttpFilter

7. 8. 2 一个基于MFC的GetFilterVersion()函数

7. 8. 3 CHttPFilterContext类

7. 9 小结

第8章 用过滤器增强IIS日志

8. 1 IIS日志

8. 1. 1 记录文本文件

8. 1. 2 记录到数据库

8. 1. 3 确定在何处以及如何存储数据

8. 2 过滤日志事件

8. 2. 1 过滤日志事件的理由

8. 2. 2 增加新域给日志

8. 2. 3 更改已有日志域

8. 3 一个简单的日志过滤器

8. 3. 1 设计ISAPI日志过滤器

8. 3. 2 实现CExtraDataFilter:GetFilterVersion()

8. 3. 3 用Onlog()函数处理日志通知

8. 4 有效地使用日志过滤器

8. 4. 1 避免耗时的操作

8. 4. 2 使用离线选择

8. 5 小结

第9章 基于客户浏览器重定向

9. l 为什么以用户浏览器为基础进行重定向

9. 1. 1 优化站点还是使站点更具普遍性

9. 1. 2 自动选页的手工执行

9. 2 用过滤器重定向

9. 3 用扩展重定向

9. 4 描述浏览器功能

9. 4. 1 识别远程浏览器

9. 4. 2 建立一个浏览器功能机制

9. 5 实现一个重定向扩展

9. 5. 1 要求

9. 5. 2 声明扩展类

9. 5. 3 定义PARSEMAP

9. 5. 4 初始化重定向扩展

9. 5. 5 处理IfSupported命令

9. 6 实现重定向过滤器

9. 6. 1 要求

9. 6. 2 为重定向过滤器选择通知方法

9. 6. 3 设计发送

9. 6. 4 声明过滤器类

9. 6. 5 实现GetFilterVersion()函数

9. 6. 6 实现OnPreProcHeaders()函数

9. 7 小结

第10章 用过滤器验证

10. 1 验证与安全性

10. 2 在HTTPl. 1中验证

10. 2. 1 Challenge/Response进程

10. 2. 2 验证方案

10. 3 验证和Windows NT安全

10. 3. 1 匿名用户

10. 3. 2 安全环境和IIS

10. 3. 3 NT访问权限和验证

10. 4 验证过滤器

10. 4. 1 验证过滤器做什么

10. 4. 2 为什么使用验证过滤器

10. 5 设计和实现验证过滤器

10. 5. 1 数据存储要求

10. 5. 2 执行效率要求

10. 5. 3 设计过滤器

10. 5. 4 实现过滤器

10. 6 小结

第11章 高级表单处理

11. 1 MFCPARSEMAP的局限性

11. 2 MFC ISAPI支持的优点

11. 3 设计一种机制来支持灵活表单内容

11. 3. 1 需要的功能

11. 3. 2 环境特征

11. 4 使用未提供文档的MFC来扩展或增强MFC

11. 4. 1 什么是未被提供文档的MFC

11. 4. 2 未被提供文档的MFC代码的风险和回报

11. 4. 3 使用未被提供文档的MFC的基本原理

11. 5 实现处理可变表单内容的增强

11. 5. 1 扩展CHttpServer

11. 5. 2 用CHttpFieldTable类管理数据

11. 6 在一个ISAPI扩展中使用CHttpFieUServer类

11. 6. 1 转换一个MFCISAH扩展来使用FieldTable类

11. 6. 2 一个域表扩展样本

11. 7 小结

第12章 使用BorEandDelphi 2. 0的ISAU编程

12. 1 使用Delphi的好处

12. 2 ISAPI中Delphi的局限性

12. 2. 1 在ISAPI程序中没有用户接口

12. 2. 2 数据库问题

12. 2. 3 缺少开发ISAPI应用的应用程序框架

12. 3 Delphi与C十十ISAPI贝编程

12. 3. 1 数据类型对应

12. 3. 2 MFC或其他框架不可用

12. 4 用Delphi写一个ISAPI应用程序

12. 4. 1 ISAPIExt单元

12. 4. 2 在DLL中提供ISAPI应用程序入口点

12. 4. 3 使用ECB与服务器交互

12. 4. 4 检索头部信息和履务器变量

12. 4. 5 解释请求

12. 4. 6 发送数据给用户

12. 4. 7 保持状态信息:使用Cookkies

12. 5 编写一个ISAPI过滤器

12. 6 小结

第13章 使用Delphi ISAPI应用程序框架

13. l 设计目标

13. 2 使用ISAH应用程序框架

13. 2. 1 为你的扩展建立一个新项目程序

13. 2. 2 用ISAPICOMMAND域准备HTML表单

13. 2. 3 编写并注册一个类来处理请求

13. 2. 4 HTTPServerContext对象

13. 2. 5 检索表单的域值

13. 2. 6 检索头文件信息和服务器变量

13. 2. 7 发送头文件给用户

13. 2. 8 获取对参数和Cookies的直接访问

13. 2. 9 写数据给用户

13. 2. 10 处理异常

13. 3 建立一个简单的请求处理程序

13. 3. 1 温度转换请求

13. 3. 2 温度转换请求处理程序

13. 4 高级专题

13. 4. 1 HTTPUtil工具类

13. 4. 2 读写Cookies

13. 4. 3 写二进制数据给用户

13. 4. 4 直接访问特殊函数的ECL

13. 5 DelphiISAPI应用程序框架如何工作

13. 5. 1 作为函数符的请求处理程序

13. 5. 2 类注册和对象工厂

13. 5. 3 检索输入数据

13. 5. 4 保存和发送头部

13. 5. 5 异常结构

13. 6 小结

第14章 调试ISAPI过滤器

14. 1 重入

14. 2 代码的关键部分(CriticalSection)

14. 3 内存泄漏

14. 4 在Windows NT下调试

14. 4. 1 在调试器中浏览代码

14. 4. 2 建立调试

14. 4. 3 在调试器中装入Web服务器

14. 4. 4 用OutPutDebugString()函数调试

14. 4. 5 用MessageBox()函数调试

14. 4. 6 更方便的调试方法提示

14. 4. 7 用ISMOKE. ExE调试

14. 4. 8 用CGIWRAP调试

14. 5 使之完善

14. 5. 1 ASSERT语句

14. 5. 2 运行时调试库

14. 5. 3 提供错误消息

14. 5. 4 强化测试

14. 5. 5 用Hammer强化测试

14. 6 小结

附录A ISAPI函数. 结构和常量

A. 1 扩展

A. 1. 1 DLL入口

A. 1. 2 回调

A. 2 过滤器

A. 2. 1 DLL入口点

A. 2. 2 回调

附录B 建立一个系统数据源名

B. 1 增加一个系统数据源名

B. 2 配置一个访问系统数据源名

B. 3 配置SQL服务器的系统DSN

附录C HTTP状态码

附录D 服务器变量

附录E 常用的头部

附录F 光盘上有什么

F. 1 源代码

F. 2 开发工具

F. 3 文献

F. 4 ISAPI组件

F. 5 网络链接