说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

CGI技术及其开发(二)-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
CGI技术及其开发(二)-Delphi资料

教 学 纲 要

在 上 一 讲 中, 我 们 设 置 了 用 于 开 发 CGI 程 序 的 系 统。 今 天, 我 们

进 入: 第 二 部 分、 CGI 程 序 设 计 的 概 念 ……

第 二 部 分、 CGI 程 序 设 计 的 概 念

1.0 、 CGI 程 序 的 功 能:

首 先, 什 么 是 公 共 网 关 接 口( CGI ) 呢? CGI 是 一 个 用 于 定

义 WEB 服 务 器 与 外 部 程 序 之 间 通 信 方 式 的 标 准, 使 得 外 部 程 序

能 生 成 HTML 、 图 象 或 者 其 他 内 容, 而 服 务 器 处 理 的 方 式 与 那 些

非 外 部 程 序 生 成 的 HTML 、 图 象 或 者 其 他 内 容 的 处 理 方 式 是 相

同 的。 因 此, CGI 程 序 不 仅 使 你 能 生 成 静 态 内 容, 而 且 能 生 成 动

态 内 容。 使 用 CGI 的 原 因 在 于 它 是 一 个 定 义 良 好 并 被 广 泛 支 持

的 标 准。 虽 然, Java 、 ActiveX 等 可 以 完 成 CGI 程 序 的 功 能, 但 并

不 是 所 有 浏 览 器 都 支 持 它 们。 相 反, 所 有 浏 览 器 都 支 持 CGI ,

如: Lynx 、 IE 、 Netscape 等。

然 而, 和 其 他 技 术 一 样, CGI 也 有 它 的 局 限 性。 本 节 我 就 讲

述 CGI 程 序 的 功 能、 优 点 与 不 足。

1.1 、 CGI 功 能

有 许 多 任 务, CGI 是 最 佳 的 是 唯 一 的 选 择, 这 些 任 务 可 分

为 三 类: 初 级 任 务、 中 级 任 务 和 高 级 任 务。 初 级 任 务 是 一 些 不

用 怎 么 编 程 的 任 务, 如:

文 本 型 计 数 器

生 成 简 单 的 HTML 的 程 序

少 于 50 行 用 Perl 语 言、 Shell 脚 本、 C 语 言 或 C++ 语 言 编 写 的 程 序

这 样 的 任 务 用 CGI 来 写 至 少 有 三 点 好 处: 第 一、 CGI 运 行 最

快, 而 Java 等 开 销 太 大; 第 二、 CGI 标 准 于 当 前 浏 览 器 最 兼 容,

这 一 点 在 前 面 已 经 提 到; 第 三、 CGI 资 源 丰 富, 您 在 Internet 上 可

以 找 到 成 千 上 万 的 CGI 代 码。

中 级 任 务 是 包 括 图 象 映 象 和 其 他 一 些 稍 复 杂 的 程 序 设 计

任 务。 在 中 级 任 务 中, 用 CGI 和 Java 来 编 写 程 序 的 难 易 程 度 差 别

不 大。

此 类 任 务 包 括:

图 象 映 象

生 成 整 页 的 HTML 的 CGI 脚 本

动 画

很 有 特 点 的 是, 对 于 高 级 任 务, 用 CGI 比 用 Java 编 程 要 简 单

得 多。 此 类 任 务 有:

后 端 数 据 库 操 作

搜 索 引 擎

多 重 动 态 页 面

其 中, 后 端 数 据 库 操 作( 存 取 数 据 库 的 应 用 程 序) 体 现 了

CGI 的 优 越 性。 CGI 有 一 定 的 历 史, 其 中 很 多 有 用 的 功 能 都 在

CGI 的 库 中 由 别 人 做 好 了; 同 时, 许 多 大 公 司 提 供 了 用 CGI 承 虿

僮 髌 涫  菘 獾 姆 椒ā6  遥琂 ava 是 一 种 程 序 设 计 语 言, 而 CGI 是

网 关 程 序 的 功 能 规 范。 如 果 Java 有 较 大 改 变, 您 得 重 写 整 个 程

序; 而 CGI 有 较 大 变 化 的, 您 只 要 升 级 CGI 库 程 序 即 可。

然 而, CGI 在 有 些 方 面 还 是 有 局 限 性 的。

1.2 、 CGI 的 局 限 性

在 图 象 映 象 和 动 画 方 面, CGI 程 序 不 如 Java 程 序 开 发 方 便。

现 在 Java 越 来 越 流 行, CGI 程 序 则 越 来 越 适 合 编 写 简 短 杂 乱 的

程 序 和 数 据 库 应 用 程 序。

1.3 、 CGI 程 序 功 能

CGI 程 序 的 最 大 特 点 是 可 以 用 任 何 一 种 语 言 编 制, 可 运 行

在 任 何 一 种 平 台 上, 只 要 它 符 合 CGI 的 规 范 即 可。 下 表 是 一 个

比 较: 任 务

CGI+HTML

HTML

处 理 表 单

Yes

No

创 建 WEB 页 面 上 非 静 态 内 容

Yes

No

处 理 图 象 映 象 文 件

Yes

Yes

在 WEB 页 面 和 文 档 中 搜 索

Yes

No

创 建 表 单

Yes

Yes

创 建 平 台 无 关 的 文 档

Yes

Yes

创 建 聊 天 室 等 交 互 应 用 程 序

Yes

No

页 面 动 态 生 成

Yes

No

按 用 户 需 要 进 行 页 面 文 档 裁 剪

Yes

No

下 面, 我 们 用 一 系 列“ Hello World ” 程 序 结 束 本 讲:

Perl :

Require "cgi-lib.pl";

print &PrintHeader;

print "\n";

print "Hello World\n";

print &PrintEnv;

exit;

此 文 件 存 储 在 C:\HTTPD\CGI-BIN 目 录 下, 文 件 名 为 2_1.pl 。 在

浏 览 器 中 用 地 址 http://localhost/cgi-bin/2_1.pl 调 用。 注 意, 此 时

OmniHTTPD 应 在 运 行。 如 果 一 切 正 常, 您 可 以 在 浏 览 器 中 看 见“

Hello World ” 和 环 境 变 量。

C : #include

#include "html-lib.h"

#include "cgi-lib.h"

int main()

{

html_header();

html_begin("Test CGI");

h1("CGI Program");

printf("

------------------------------------------------------------------------------

--

\n");

h2("CGI Environment Variables");

print_cgi_env();

html_end();

return 0; }

编 译 后 将 可 执 行 文 件 复 制 到 C:\HTTPD\CGI-BIN 下, 改 名 为

2_1.cgi , 用 地 址 http://localhost/cgi-bin/2_1.cgi 调 用。

VMware最快下周宣布分拆Cloud Foundry 国际原子能机构服务器遭窃 百多位专家信息泄密 用户可通过Google Drive直接向Gmail添加高达10GB的文件 韩寒携个人App进军移动互联网 亮相应用汇独家发布会 摆脱谷歌 亚马逊向开发者正式发布地图API 为什么应该用模块取代C/C++中的头文件? Mozilla布道师:HTML5在移动端没有未来? 那些年,历史上留下浓重一笔的黑客们 林敏博士:透过设计看三星手机帝国崛起 OpenFeint血泪史:我们是如何被苹果逼死的 或免费升级:微软2013年推Windows Blue系统 取经:《捕鱼达人2》每月捞金160万美元的秘密 AWS推数据仓库服务Redshift 价格仅是Teradata IBM Oracle的十分之一 美国开展数据中心整合计划 简化政府IT运营 阿里巴巴数据交换平台——集大成于一身 [体验]Windows 8 Metro/Modern Style IE 10 Growth Hacker正席卷全球,你了解它吗? Splashtop发布Ubuntu Linux版本Streamer 性能超过VNC 10倍 Windows 8引领智能操作 人机交互进入触控时代 豌豆荚发布新版应用搜索 推出“绿色标签”机制 权威解读:苹果的未来将走向何方? Google炮轰Facebook:你们的社交已经过时了! iOS设备硬件规格完整汇总 2012 MDCC“2012移动互联网应用创新大赛与开发者面对面”专场:创所未享,携手逐梦! RIM携QNX为“2012 BlackBerry平台移动应用高校竞赛” 颁奖 BlackBerry 10 策略:用金钱吸引游戏开发者 黑莓10要来了:RIM正式开放应用提交 从RIM与微软达成exFAT授权所想到的 OpenStack中国行来到南京 中兴通讯分享电信行业应用 CSS架构目标:预测、重用、扩展、维护 黑客利用移动浏览器漏洞窃取云计算资源 帮帮忙,SQL语句问题 动态加载用户控件,怎么设置参数,使用户控件有所变化 大家来讨论讨论这种怪事 WIN2000和LINUX与PHP的搭配的困惑 求助ActiveReport! DBGrid 中字段显示问题,如果对应字段在数据库中是bit性,在用户界面显示时需要显示是“是”或“否”,请各位大侠指点一二,先谢那!! ★★★★如何打开.hxs文件★★★★ DBGrid 中字段显示问题,如果对应字段在数据库中是bit性,在用户界面显示时需要显示是“是”或“否”,请各位大侠指点一二,先谢那!! WIN2000和LINUX与PHP的搭配的困惑 继续帮忙!!! 菜鸟:使用adapter对dataset fill()时提示出错,不知道什么原因 入门问题 CString的find函数 哪位高手能解决Visual C++ Extensions for ADO之AddNew(&rs)的问题?(可惜无分可赠!!!) 在一个对话框中怎么得到另外一个对话框的某个控件的指针? 谁有delphi连接sql server的技术资料文章 谁有delphi6网络编程一书的代码???????????? 超级简单的问题!答了就给分!快快来! 谁有《delphi6网络编程》一书的原代码??????????? AMD xp cpu的性能是怎么样的 请大家帮忙,一个LPTCSTR的数据问题 散分,散分,高手在哪?新买的165上网卡无法拨号上网,救命,喔,救命 请问一个问题。 赛扬1.7G,256M内存打“传奇”有点卡!!!!!!!!帮我,快 如何 将数字字符串 转换为整数? 千万火急----如何把从组件中取的记录集在VB中赋给FPSpread控件? 探讨方法 有些不懂,请帮帮忙,有分。 大哥哥进来看看小妹这个问题好吗? socket高手请进!可以解决吗? java 的帮助文件哪儿可以找到? 很多页面都链接到同一页面,在返回时如何判断返回到原先的页面?(不用histroy.back())? jbuilder9中开发web services,import wsdl文件出错 很多页面都链接到同一页面,在返回时如何判断返回到原先的页面?(不用histroy.back()) 要调用某个DLL中函数,应如何申明? 有问题急? jb8中类找不到了??? 哪位可以告诉我在哪里可以改动网论坛首页上方的banner广告的路径? 救命啊!!为什么在DBASE4里执行“ALTER TABLE TableName ADD COLUMN AAA C(10)”发生异常?!,该语句不兼容啊! 如果当初你没遇到Java,你会选择什么 欢迎参加微软新闻组 & Diyinside Windows User Group离线技术沙龙 访问access数据库怎么不能查日期? Dll问题! 这个异常是什么回事? 小小问题。。。 為深麼我的Wizard模式的PreportyPage的OnWizardNext函數實現後,不能出現第二個頁面,how to. 那一个有的高程模拟试题 简单问题,请指点 在线等待求助:win2000缠人问题 ****郁闷,从来没有遇到这样的问题!!!为什么报表显示的时候会闪一下!而且显示出来后其窗体还没有自动关闭!******** 请大家发表一下自己的意见 Susan__written a report like this 选择Susan__written a report like this A can have B dare sayingC not dare say Ddared say选哪个 错了啊 A can have B must not haveC can not have D ought to not have这个选项是对的 选出后 为什么不选 "寻你千百度,你却在灯火阑珊处"哪首诗@-@ U2=U总-U1 我有一个物理问题关于电压U1和U2比!甲、乙两个电热器的电阻相同,甲和乙串联使用与它们并联使用消耗的总功率相同,则串联时加的电压U1(R1和R2的总电压)和并联时加的电压U2之比U1:U2为A1 fancy paper napkins什么意思如题 We are importer of hand tools based in Iran and UAE and We want to import the Meausuring Tape same ,sanitary grade 一个女孩子说,我寻你千百度 又一岁荣枯 可你从不在 灯火阑珊处. insomnia什么意思 He (don't)(like) (this)找出错误的一项并改正 我寻你千百度、又一岁容枯、可你从不在灯火阑珊处 利比亚枪手打劫央行5000万美元普京称苏联共青团不仅是政治还是友谊和印度高官建议用阉割强奸犯方法遏制强奸国际货币基金组织专家称无需担忧中国经英9个月女婴获封最年轻选美皇后【组图格蕾丝王妃生平展开幕 儿子阿尔伯特亲德媒称已锁定美驻德使馆窃听站位置(组日本如此焦虑为哪般利比亚枪手狂劫央行运钞车得手5000《世界新闻报》窃听丑闻开审 “世纪审纽约华裔灭门案震惊社区 凶犯偷渡来美昔日流花路清溪:多道“文化大餐”陪你过节要对金牌榜“摆乌龙”零容忍POPOBE到凯德陪你过新年一个马桶盖 几多国货伤全省将投1900亿 办好十件民生实事企业永续经营的法则CBA不会赛后“滥”追罚两岁童落井六旬爷爷抱起“呼格案”真凶赵志红被判死玩“老”游戏 潮童大比拼血溅追杀末世之游戏人生法师的船里埋藏着尸骨相医郑显盛的回忆录苏联1991虚实进化冒牌道士在聊斋田园大宋位面旅游大师游戏创世纪涟源旅游旬阳太极城旅游兴化禅寺旅游土山汉墓旅游淮海战役纪念塔旅游汉秀剧场旅游十瀑峡旅游茂县羌乡古寨旅游三门岛旅游洋湖沟旅游罗先市旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘