《CGI开发使用手册》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)(J.德怀特)Jeffry Dwight等著;金帆工作室译
  • 出 版 社:机械工业出版社;西蒙与舒斯特国际出版公司
  • 出版年份:1998
  • ISBN:7111060350
  • 页数:600 页
图书介绍:

前言 1

第一部分 CGI基础 1

第1 章 CGI简介 1

1.1 CGI和World Wide Web 1

1.2 利用CGI超越HTML 2

1.3 CGI如何工作 3

1.4 CGI脚本在哪里 5

1.5 CGI服务器请求 6

1.5.1 Windows NT 6

1.5.2 Macintosh 6

1.5.3 UNIX 7

1.6 CGI脚本的未来 7

1.6.1 Java 7

1.6.2 Visual Basic Script 8

1.6.3 VRML 9

1.6.4 ISAP 9

1.6.6 NSAPI 10

1.6.5 FastCGI 10

1.6.7 JavaScript 11

1.6.8 JScript 11

1.6.9 ActiveX 11

第 2章 选择CGI工具 13

2.1 解释型脚本语言 13

2.1.2 UNIX Shell脚本 15

2.1.3 Perl 16

2.1.4 工具命令语言 (TCL) 17

2.2 编译型语言 18

2.2.1 C语言 19

2.2.2 C++语言 19

2.2.3 Visual Basic 21

2.3 新式的编译型脚本语言 22

2.3.1 Java 23

2.3.2 JavaScript 24

2.3.3 JScript 24

2.3.4 Visual Basic Script (VBScript) 25

2.4 为你的环境选择最佳语言 26

2.3.5 PHP/FT 26

第二部分 CGI应用程序开发 29

第3 章 设计CGI应用 29

3.1 CGI脚本结构 29

3.1.1 初始化 31

3.1.2 处理 32

3.1.3 终止 33

3.2 计划脚本 34

3.3 标准CGI环境变量 36

3.4 CGI脚本可移植性 38

3.4.1 平台独立性 38

3.1.2 服务器独立性 39

3.5 CGI库 40

3.5.1 个人库 40

3.5.2 公共库 41

3.6 CGI的局限 43

4.1 幕后的CGI 45

第4 章 理解基本的CGI元素 45

4.2 环境变量:用来交谈的信息 46

4.2.1 服务器专有环境 46

4.2.2 请求专有环境变量 47

4.2.3 客户专有环境变量 49

4.2.4用脚本检测环境变量 50

4.3.1 编码 51

4.3.2 解码 (分析) 例程 51

4.3 处理URL编码信息 51

4.4 使用头标信息 53

4.4.1 非分析头标 53

4.4.2 内容类型头标 53

4.4.3 位置头标 53

4.4.4 状态头标 54

4.5 给用户返回输出 54

4.5.1 标准输出 (STDOUT) 55

4.5.2 基于文件的输出 55

5.1 将CGI集成到HTML页面 56

第5 章 将HTML和CGI用作用户界面 56

5.1.1

标记 57

5.1.2 输入数据 60

5.1.3 完成HTML界面 62

5.2 创建市场问卷 64

5.2.1 初步信息 64

5.2.2 完成的问卷 70

5.3 表单设计:好的、不好的、难看的 72

5.3.1 好的表单 72

5.3.2 不好的表单 73

5.3.3难看的表单 73

第三部分 CGI编程实例和服务器配置 75

第6章 简单CGI脚本举例 75

6.1 电子邮件网关 75

6.2 反馈或注释脚本 79

6.3 用Perl 的访问者Guestbook脚本 80

6.4.1 计数器方法 83

6.4 页面点中计数器 83

6.4.2 各种CGI计数器 84

6.5 基于Web的公告牌系统 87

6.6 基于Web的游戏 91

6.7 新闻网关、HyperNews和WWWNNTP 92

6.7.1 NNTP纵览 92

6.7.2 HyperNews 94

6.8.1 SGBI做些什么 95

6.8 使用C的简单的Guestbook脚本 95

6.7.3 WWWNNTP 95

6.8.2 SGBI如何工作 96

6.8.3 综合 101

第7 章 编制脚本并设置Web服务器 102

7.1 安全格式事务 102

7.1.1 SSL简介 103

7.1.2 S-HTTP简介 103

7.2 设置SCSA Server或Apache Server以使用CGI 104

7.2.1 ScriptAlias指令 104

7.2.2 AddType指令 105

7.2.3 访问配置文件 106

7.3 设置CERN HTTP服务器以使用CGI 107

7.4 设置Netscape以使用CGI 107

7.5 设置Microsoft的Internet Information Server 以使用CGI 109

7.6 设置其他Windows Web服务器以使用CGI 110

7.7 通过Mail进行订购 112

7.7.1 创建表单 112

7.7.2 formmail.pl脚本 114

7.8 管理Web站点预订 119

7.8.1 利用.htaccess 119

7.8.2 建立登记脚本 120

7.9 建立登记页面 125

7.10 创建 一个更复杂的Guestbook 126

7.10.1 分析SGBI的优缺点 126

7.10.2 创建单独的输入项表单 126

7.10.3 收集更多的信息 128

7.10.4 反向显示顺序 129

7.10.5 增加导航帮助 135

7.10.6 设置Guestbook 138

7.11 配置MasOS Web服务器以使用CGI 139

7.11.1 Mac OS的CGI脚本语言 139

7.11.2 Mac OS服务器 140

第8 章 修改CGI脚本 142

8.1 安装和修改Guestbook CGI脚本 142

8.2 定义系统变量 143

8.3 设置Guestbook脚本选项 145

8.3.1 电子邮件通知 146

8.3.2 Guestbook CGI日志文件 146

8.3.3 加入电子邮件地址链接 146

8.3.4 条目分隔样式 146

8.3.5 处理URL自动重定向 146

8.3.6 访问者的HTML条目顺序 148

8.3.7 发送感谢邮件 149

8.3.9 处理换行符 150

8.4 Guestbook最终版本 150

8.3.8 允许或禁止HTML标记 150

8.4.1 使用Guestbook脚本 152

8.4.2 测试Guestbook 153

8.5 将Guestbook CGI转换成友站点列表 153

8.5.1 修改CGI脚本 154

8.5.2 修改相关的HTML文件 157

8.5.3 测试修订版 158

8.6 修改需编译的页面点中计数器 159

8.7 柔性 (Flexible)页面点中计数器的修改 161

8.7.1 安装并配置Count v2.3 161

8.7.2 计数器的测试 162

8.7.3 修改选项 163

8.7.4 性能 166

第9章 如何处理自定义图像映像 167

9.1 图像映像是如何工作的 167

9.2.1 下载图像映像CGI程序 168

9.2 Web服务器图像映像配置 168

9.2.2 NSCA图像映像配置 169

9.2.3 Apache图像映像配置 171

9.2.4 CERN和W3C图像映像配置 172

9.2.5 Netscape图像映像配置 173

9.2.6 Apple Internet服务器图像映像 173

9.3 客户端图像映像 174

9.4.1 Windows 176

9.4 图像映像工具 176

9.4.2 UNIX 181

9.4.3 Apple Macintosh 181

9.5 产生实时图像 182

9.5.1 GIFLib介绍 182

9.5.2 获取GIFLib 182

9.5.3 FLY介绍 183

9.5.4 获取FLY 183

第10 章 使用MIME 184

10.1 MIME是什么? 184

10.3 MIME是怎样用在World Wide Web上的 186

10.2 MIME是怎样成为HTPP规范的一部分的 186

10.3.1 了解MIME头标 187

10.3.2 在Web网上使用MIME头标 187

10.4 理解MIME内容类型 188

10.4.1 什么是标准MIME类型? 189

10.4.2 使用新的MIME内容类型 189

10.5 把MIME类型映像到浏览器帮助应用程序 191

10.6 配置服务器以识别MIME类型 193

10.6.1 给NCSA服务器添加MIME类型 194

10.6.2 给W3 (CERN) 服务器添加MIME类型 195

10.7 MIME的安全性考虑 196

10.7.1 PostScript的安全性考虑 197

10.7.2 将来的MIME安全标准 197

10.8 基于MIME的内容协商 199

10.8.1 MIME类型和客户机/服务器的关系 199

10.8.2 如何使用CGI使MIME工作 200

10.8.3 CGI MIME头标和服务器生成头标 204

11.1 简单搜索 207

11.1.关于搜索的简要介绍 207

第四部分 使用CGI搜索引擎和数据库 207

第11 章 为Web站点建立索引 207

11.1.2 基于概念的搜索 209

11.2 将搜索功能作为站点的一部分 210

11.2.1 对快速变化的主题搜索链接 210

11.2.2 在上下文中给出搜索结果 212

11.2.3 向文件中增加关键字 212

11.2.4 逐行地搜索一个文件 214

11.3 用于小型站点的简单搜索引擎 215

11.3.1 ICE 216

11.3.2 SWISH:简单的Web索引系统 217

11.3.3 Hukilau 222

11.3.4 GLIMPSE简介 228

11.4 用于商务站点的搜索引擎概述 229

11.4.1 专门搜索引擎 229

11.4.2 Web服务器的内建搜索工具 231

12.1.1 WAIS起源 233

12.1 什么是WAIS 233

第12 章 使用WAIS与CGI 233

12.1.2 一个开放标准 234

12.1.3 最后结果 235

12.2 为什么使用WAIS 235

12.3 建立和使用WAIS数据库 236

12.3.1 WAISINDEX:数据库制作器 236

12.3.3 如何查询数据库 237

12.3.4 查询的结果 237

12.3.2 用于查询数据库的工具 237

12.4 WAIS Web网关 (脚本) 238

12.4.1 自动服务器——WAIS集成 238

12.4.2 CGI脚本网关 240

12.5 freeWAIS 241

12.5.1 安装WAIS软件 242

12.5.2 UNIX上的freeWAIS 242

12.6.3 电子论坛 243

12.6.2 新闻组 243

12.6.1 WWW资源 243

12.5.3 Windows NT上的WAIS 243

12.6 更多的信息 243

12.6.4 其他的和未来的工具 244

第13 章 自定义数据库查询脚本 245

13.1 基本设计和安全问题 245

13.1.1 为什么要建立一个Web/RDBMS接口 245

13.1.2 HTTP在数据库上下文中的局限 248

13.1.3 安全问题 250

3.2.1 从Perl到DBMS的存取 251

13.2 一个用Perl写的简单工作例子 251

13.2.2 工作例子方案 254

13.2.3 搜索热链 255

13.2.4 阅览详细记录 258

13.2.5 向Hotlist提交数据 260

13.2.6 生成SQL代码以传输提交数据 262

13.3 后端数据库 265

13.3.1 使用Oracle 265

13.3.2 在Microsoft的IIS中使用IDC和HTX文件 266

13.3.4 IDC附加指令 268

13.3.3 IDC必要指令 268

13.3.5 BeginDetail 和EndDetail标记 269

13.3.6 CurrentRecord指令 269

13.3.7 条件操作符 269

13.3.8 MaxRecords变量 270

13.3.9 字段 270

13.3.10 HTTP变量 270

13.4.1 调试 271

13.4 问题解决 271

13.4.2 性能调谐 272

13.5 Web/数据库接口的未来 272

第14 章 Web数据库工具 274

14.1 可用的数据库 274

14.1.1Oracle 274

14.1.2 Sybase 274

14.1.7 Ingres 275

14.1.6 Postgres95 275

14.1.4 Illustra 275

14.1.5 Microsoft SQL 275

14.1.3 mSQL 275

14.1.8 FoxPro 276

14.1.9 Microsoft Access 276

14.1.10 FileMaker Pro 276

14.1.11 Butler SQL 276

14.2 数据库工具 276

14.2.1 PHP/Fl 277

14.2.2 Cold Fusion 277

14.2.3 W3-mSQL 277

14.2.4 MsqlPerl 278

14.2.5 MsqlJava 278

14.2.6 Microsoft 的dbWeb 278

14.2.7 WDB 278

14.2.8 Web/Genera 278

14.2.11 DBGateway 279

14.2.9 MORE 279

14.2.10 DBI 279

14.3 Web上的其他资源 280

14.3.1 Web FM 280

14.3.2 Tango 280

第15 章 机器人与Web爬虫 281

15.1 机器人和Web爬虫的定义 281

15.2 robots.txt介绍 282

15.3 robots.txt分析 282

15.4 从哪里得到机器人 284

15.4.1 验证机器人 284

15.4.2 漫步机器人 285

15.4.3 安装Harvest 287

15.5 服务器性能考虑 290

15.6 IP带宽考虑 290

15.7 机器人礼节 291

15.8 与其他Web爬虫的接口 291

15.8.1 与Alta Vista的接口 292

15.8.2 与Infoseek的接口 293

15.8.3 与Lycos的接口 293

15.8.4 与Starting Point的接口 294

15.8.5 为其他站点建立搜索表单 294

第16 章 使用服务器端包含 298

16.1 SSI介绍 298

16.2 SSI规范 299

16.3 配置SSI 299

16.4 在HTML中使用SSI 300

16.4.1 HTML注释语法 301

16.4.2 从注释转变到命令 301

16.4.3 常用的SSI命令 301

16.5 SSI程序示范 304

16.5.1 SSIDump 304

16.5.2 RQ 305

16.5.3 XMAS 308

16.5.4 HitCount 310

16.5.5 HitCntth 313

16.5.6 FirstHit 316

16.5.7 LastHit 319

16.6 服务器性能考虑 322

16.7 安全问题 323

第五部分 交互式HTML文档 325

第17 章 实时生成HTML文档 325

17.1 静态HTML 325

17.2 实时HTML 326

17.2.1 实时HTML的好处 326

17.2.2 生成实时HTML的方法 326

17.4 服务器性能问题 336

第18 章 人与人的交互 337

18.1 CGI的进一步使用 337

18.1.1 WWW Interactive Talk 338

18.1.2 基于HTML的Chat系统 340

18.2.2 Cookie组成或规格 344

18.2.1 可能的Cookie应用 344

18.2 HTTP Cookic简介 344

18.2.3 处理Cookie 345

18.2.4 使Cookie更有味 346

18.2.5 一个商业性购物车 348

18.3 一个简单的购物车 349

18.3.1 所有行李 349

18.3.2 Shop Cart是如何工作的 351

18.3.3 编译并修改ShopCart 356

19.1 硬件需求 358

第19 章 使用基于Web的视频摄影 358

19.2 基于Web的视频摄影举例 359

19.3 电影与静态图像 360

19.4 图像格式:GIF 与JPEG 360

19.5 拍摄电影 361

19.5.1 Windows95 下的产品 362

19.5.2 UNIX下的产品 363

19.6 Windows下的实现 363

19.6.1 Connectix QuickCam 364

19.6.2 ARTA Media的Snap CAP 367

19.7 服务器性能问题 372

19.8 用于Web摄影的HTML 372

19.8.1 简单的表格格式 372

19.8.2 更多彩的表格格式 373

19.9 Java和Web摄影 375

第20章 Server端的Java和JavaScript 380

20.1 使用Java开发服务器端应用 380

20.1.1 服务器端和客户机端 381

20.1.2 利用Java作为CGI访问数据库 383

20.1.3 Jeev 384

20.2 服务器端的JavaScript 385

20.2.1 LiveWire 385

20.2.2 在LiveWire 下使用JavaScript 385

第21 章 使用ActiveX编写脚本 387

21.1 ActiveX的定义 387

21.1.1 ActiveX控件 388

21.1.2 ActiveX文档 390

21.1.3 ActiveX脚本 391

21.1.4 服务器端的ActiveX 391

21.2 VBScript和ActiveX 392

21.3 JScript和ActiveX 396

21.4 性能问题 397

21.4.1 服务器端 397

21.5 安全问题 398

21.4.2 客户端 398

第六部分 CGI技巧与技术 401

第22 章 Perl语言的技巧与技术 401

22.1 Perl CGI实例 401

22.1.1 动画 401

22.1.2 随机图像生成器 403

22.1.3 简单搜索 405

22.1.4 Free For All Link Page 406

22.1.5 Countdown 411

22.2 Perl安全性 412

22.4 Perl的实现 413

22.4.1 在UNIX机器上实现Perl 413

22.4.2 在Windows95和 Window NT上实现 Perl 413

22.4.3 在MS-DOS和Windows3.1 上实现Perl 413

22.3 获取最新版本的Perl 5 413

22.5 通用Perl CGL库 414

22.5.1 cgi-lib-pl 414

22.4.5 在Macintosh 机器上实现Perl 414

22.4.4 在OS/2上实现Perl 414

22.5.2 CGI .pm 415

22.5.3 libwww.pl 416

第23 章 在Visual Basic环境下使用WinCGI的技巧与技术 417

23.1 预备知识 417

23.2 Wimdows通用网关接口 418

23.2.1 WinCGI是如何工作的 418

23.2.2 CGI输入和输出文件的格式 420

23.2.3 处理输入和输出文件以及通用VB CGI库 421

23.3 用VB创建一个CGI应用程序 422

23.3.1 使用自己的Visual Basic的应用程序建立表单 423

23.3.2 代码表单及产生的响应 426

23.3.3 设置高级表单 427

23.3.4 高级表单编码 429

23.4 数据访问CGI编程 433

23.4.1 建立一个Web可搜索的电话号码数据库 433

23.4.2 数据库 433

23.5.2 限制对CGI程序的访问 440

23.5.3 其他安全问题 440

23.5.1 在公用网上发送密信息 440

23.5 CGI脚本的安全性考虑和访问限制 440

23.6 获取Visual Basic最新版本 441

23.7 服务器性能问题 441

23.8 基于Server的CGI的替代者:Microsoft的VBScript和JavaScript 442

第24章 C和C++的技巧与技术 444

24.1 读输入 444

24.2 分析输入 446

24.4 全部组合起来 449

24.3 写输出 449

24.5 有用的库 455

第25章 Java的技巧和技术 457

25.1 Java入门 457

25.1.1 Java的起源 458

25.1.2 Java程序设计语言概述 459

25.1.3 Java类库 460

25.1.4 Java的运行时环境 460

25.1.5 Java applet 461

25.1.6 JavaScript 462

25.2 Java的开发环境 462

25.2.1 Sun的Java开发包 462

25.2.2 Microsoft Java开发包 463

25.2.3 不久将发行的集成环境 463

25.3 Java及JavaScript Applet 464

25.3.Java Applet 464

25.3.2 JavaScript Applet 467

25.3.3 一起使用Java和JavaScript 469

25.3.4 集成传统CGI应用和Applet 470

25.3.5 高级客户机/服务器应用程序 470

25.4 与Java有关的问题和代价 470

25.5 与本章有关的链接 471

第26章AppleScript的提示和技术 472

26.1 AppleScript简介 472

26.1.2 在系统中拥有AppleScript 473

26.1.1 AppleEvent 473

26.1.3 使用Script Editor 474

26.2 使用AppleScript 476

26.2.1 AppleScript命令 477

26.2.2 赋值 477

26.2.3 续行符 478

26.2.4 注释 478

26.2.5 条件语句 478

26.3 AppleScript和CGI 479

26.2.7脚本附件 479

26.2.6 处理 (handlers) 479

26.4 准备编写CGI 480

26.5 建立文本格式的AppleScript CGI 480

26.5.1 一个简单的脚本示例 481

26.5.2 一个与HTTP一致的例子 482

26.6建立AppleScript CGI应用程序 484

26.6.1 使用Script Edito来建立应用程序 485

26.6.2 解释AppleEvent 485

26.6.3 一个简单的Post查询例子 485

26.6.4 语法分析CGI例子 490

26.7 其他的AppleScript CGI问题 494

26.7.1 什么是NexXT for the MacOS? 494

26.7.2 异步CGI和同步CGI 494

26.7.3 与Macintosh应用程序的高级交互 495

26.8 CGI替代产品 495

26.9 与本章相关的链接 496

27.1 PHP/FI是如何工作的 498

第27章 使用PHP/FI 498

27.2 简单的留名册 (Guestbook) 501

27.3 使用mSQL和PHP/FI的电话簿 509

27.4 探究其他的PHP/FI例子 511

第七部分 修饰CGI脚本 513

第28章 测试和调试CGI脚本 513

28.1 创建库来隔离测试 513

28.1.3 在Web上隐藏脚本 514

28.1.2 维护声誉和安全 514

28.1.1 隔离能提高再生产率 514

28.1.4 创建隔离的环境 515

28.1.5 取消隔离 517

28.2 修正错误 517

28.2.1 服务器错误 518

28.2.2 不正确的输出 521

28.3 测试脚本 522

28.3.1 测试类型 522

28.3.2 测试策略 525

28.3.3 创建辅助数据 526

28.4.1 手工文档 527

28.4.2 自动文档 527

28.5 调试脚本 527

28.4 测试文档 527

28.5.1 调试时的困难 528

28.5.2 错误日志 528

28.5.3 调试标志 529

28.5.4 在服务器之外运行 530

28.6 在服务器上测试脚本的影响 533

28.6.1 忙循环 533

第29 章 CGI中的错误处理 536

29.1 错误处理的两个方面 536

29.2.2 乐观的假设 537

29.2 错误检测 537

29.2.1 不实际的假设 537

29.2.3 悲观的假设 538

29.3 错误报告 540

29.3.1 错误外观和保持一致的重要性 540

29.3.2 简单的拒绝 542

29.3.3 细节 542

28.6.2 消除影响 543

29.3.4 管理联系、帮助指针 544

29.3.5 导航帮助 546

29.4.1 用户错误 548

29.4 常见的错误 548

29.4.2 系统错误 549

29.4.3 自己的错误 549

29.5 错误处理的原则 549

29.5.1 完整性 550

29.5.2 详细性 550

第30 章 CGI安全问题 552

30.1 脚本和程序 552

30.2 谁也不信 553

30.2.1 两种导致问题的方式 553

30.2.3 不合理数据的来源 554

30.2.2 不要相信表单数据 554

30.2.4 拒绝不合要求的表单数据 555

30.2.5 不要相信路径数据 558

30.2.6 一切看起来都正常,不过 559

30.2.7 处理文件名 559

30.2.8 输入合理输出却不合理 560

30.2.9 处理HTML 561

30.2.10 处理外部进程 563

30.3.1 CGI脚本用户 566

30.3 内部伤害 566

30.3.2 Setuid危险 567

30.3.3 “Community”Web 服务器 567

30.3.4 使用CGI Wrap 567

30.3.5 CGI脚本权限 567

30.3.6 本地文件安全 568

30.3.7 使用显式路径 568

30.4 使用他人CGI脚本时的注意事项 569

30.4.1 追根求源 570

30.4.2 注意礼貌 571

第八部分 学习好的例子 573

第31 章 专业化实例 573

31.1 不断改变的URL 574

31.2 编程指南和示例代码 574

31.3 CGI和SSI免费软件和共享软件 575

31.4 很有趣味的一些例子 577

31.5 索引 579

31.6 边接SQL数据库 580

31.7 Spider, Worm, Crawler及 Robot 582

31.8 CGI交互式游戏 583

31.9 Calweb 584

31.10 Internet Concepts,LLC 584

31.11 Real Time Internet Services 585

第九部分 附录 587

附录A Web站点上有什么 587

附录B 常用的MIME媒体类型 589

附录CCGI术语 593