亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

用Delphi編寫CGI程序(二)

2019-11-18 18:49:08
字體:
來源:轉載
供稿:網友
在 上 一 講 中, 我 們 介 紹 了 CGI 程 序 的 功 能。 今 天, 我 們 進 入: 第 二 部 分、 CGI 程 序 設 計 的 概 念 。本 講 的 內 容 是 深 入 了 解 CGI 程 序 的 基 礎。

本 系 列 講 座 是 用 Delphi 編 寫 CGI 程 序, 對 于 本 次 的 內 容 Delphi 已 經 封 裝 在 它 的 類 中, 您 也 許 認 為 本 講 沒 有 必 要。 但 我 認 為 CGI 的 優 勢 之 一 是 可 用 的 開 發 語 言 多( 下 面 將 提 到 這 個 問 題), 而 本 講 的 內 容 可 用 于 任 何 程 序 設 計 語 言 中( 包 括 Delphi )。 所 以, 要 發 揮 CGI 的 優 勢, 本 講 的 內 容 還 是 必 要 的; 再 說, 本 講 的 內 容 是 深 入 了 解 CGI 程 序 的 基 礎。

2 、 CGI 規 范:

    通 常, WEB 服 務 器 是 一 臺 功 能 強 大 的 計 算 機, 但 不 可 能 利 用 所 有 處 理 能 力。 CGI 的 產 生 使 得 人 們 可 以 用 WEB 服 務 器 的 處 理 能 力 為 遠 程 客 戶 提 供 有 趣 的、 動 態 的 內 容。 CGI 規 范 應 用 于 WEB 服 務 器 及 運 行 在 WEB 上 的 應 用 程 序。 它 不 是 HTTP 協 議 的 一 部 分, 但 大 多 數 WEB 服 務 器 都 支 持 這 個 規 范, 如 NCSA httpd 、 CERN httpd 、 Apache httpd 、 IIS 及 我 們 使 用 的 OmniHTTPD 。

2.1 、 CGI 概 覽

    CGI 定 義 WEB 服 務 器、 瀏 覽 器 和 應 用 程 序 之 間 的 相 互 操 作 中 共 同 遵 守 的 規 則 集。 例 如 通 過 WEB 瀏 覽 器 查 詢 遠 程 數 據 庫 系 統:


2.2 、 語 言:

    CGI 程 序 可 以 使 用 WEB 服 務 器 上 可 以 執 行 的 任 何 語 言 來 編 寫。 您 應 該 選 用 最 熟 悉 和 最 適 合 目 前 工 作 的 語 言。 如: Perl 語 言 適 合 字 符 串 和 文 件 處 理, C 對 大 型 的、 復 雜 的 程 序 更 合 適, Visual Basic 和 Delphi 則 適 合 數 據 庫 的 處 理, 等 等。 下 面 是 常 用 的 CGI 編 程 語 言:

C
C++
Perl
Tcl
Python
Shell Scripts
Visual Basic
Delphi
Applescript

2.3 、 CGI 方 法:
    調 用 CGI 的 途 徑 稱 為 CGI 方 法。 主 要 有 三 種 CGI 方 法:

2.3.1 、 GET 方 法:
    GET 方 法 是 瀏 覽 器 向 WEB 服 務 器 提 出 請 求 的 方 法。 使 用 這 種 方 法 時, CGI 程 序 從 環 境 變 量 QUERY_STRING 中 獲 取 數 據。 CGI 程 序 為 了 得 到 輸 入 的 參 數, 必 須 分 析 這 個 環 境 變 量。 當 傳 輸 的 數 據 很 長 時, 應 使 用 POST 方 法。

2.3.2 、 POST 方 法:
    使 用 POST 方 法 時, CGI 程 序 從 stdin ( 標 準 輸 入) 得 到 輸 入 數 據。 由 于 輸 入 數 據 的 最 后 沒 有 EOF ( 文 件 結 束 標 志 End Of File ), CGI 程 序 為 了 正 確 讀 取 輸 入 數 據, 必 須 使 用 環 境 變 量 CONTENT_LENGTH 值。 用 這 種 方 法 的 最 大 優 點 在 于 可 以 傳 輸 大 量 數 據, 而 GET 方 法 由 于 受 URL 長 度 的 限 制( 一 般 不 超 過 1024 字 節), 無 法 傳 輸 大 量 數 據。 這 時, POST 方 法 是 唯 一 的 選 擇。

2.3.3 、 HEAD 方 法:
    HEAD 方 法 基 本 同 于 GET 方 法, 只 是 它 是 從 WEB 服 務 器 向 瀏 覽 器 傳 輸 數 據。 而 且, 傳 輸 的 僅 僅 是 HTTP 的 頭 信 息。

2.4 、 接 口 規 范:
    下 面 將 介 紹 WEB 服 務 器 與 CGI 程 序 通 信 的 四 種 主 要 方 法: 環 境 變 量、 命 令 行、 標 準 輸 入 和 標 準 輸 出。( 根 據 CGI Version 1.1 給 出)

2.4.1 、 環 境 變 量:

AUTH_TYPE : 如 果 服 務 器 支 持 確 認 并 且 腳 本 得 到 保 護, 給 出 確 認 的 類 型。

CONTENT_LENGTH : 給 出 以 字 節 為 單 位 的 用 POST 方 法 傳 輸 的 數 據 長 度。 用 GET 方 法 時 變 量 為 空。

CONTENT_TYPE : 給 出 用 POST 方 法 時 傳 輸 數 據 的 MINE 類 型。 當 使 用 GET 方 法 時 變 量 為 空。 如: application/x-www-form-urlencoded 。

GETWAY_INTERFACE : 給 出 CGI 規 范 名 和 版 本 號, 如: CGI/1.1 。

PATH_INFO : 給 出 了 URL 中 CGI 程 序 名 之 后 的 附 加 路 徑 信 息。

PATH_TRANSLATED : CGI 程 序 的 物 理 路 徑, 通 常 是 WEB 根 目 錄、 腳 本 名 和 附 加 路 徑 信 息。

QUERY_STRING : URL 中 " ? " 字 符 后 的 信 息。 使 用 GET 方 法 時 此 環 境 變 量 給 出 輸 入 數 據。

REMOTE_ADDR : 提 出 請 求 的 遠 程 計 算 機 的 IP 。

REMOTE_HOST : 提 出 請 求 的 遠 程 計 算 機 的 名 字。

REMOTE_IDENT : 給 出 RFC 931 中 定 義 的 用 戶 名。

注: RFC 931 是 Internet 的 權 威 文 檔, 描 述 了 確 認 TCP 連 接 中 識 別 用 戶 的 方 法。 文 檔 在: http://sunsite.auc.dk/RFC/rfc/rfc931.html 。

REMOTE_USER : 給 出 提 出 請 求 的 客 戶 端 的 授 權 用 戶 名。

REQUEST_METHOD : 提 出 請 求 的 方 法, 可 以 是 GET 、 HEAD 和 POST 。

SCRIPT_NAME : 要 執 行 CGI 程 序 的 虛 擬 路 徑, 如: /cgi-bin/query.cgi 。

SERVER_NAME : 運 行 WEB 服 務 器 軟 件 的 計 算 機 域 名 或 IP 地 址, 如: www.chinabyte.com 。

SERVER_PORT : WEB 服 務 器 的 端 口 號, 缺 省 值 是 80 。

SERVER_PROTOCOL : WEB 服 務 器 使 用 的 協 議 名 和 版 本 號, 如: HTTPD/1.0 。

SERVER_SOFTWARE : 執 行 CGI 程 序 的 WEB 服 務 器 名。 格 式 為 " 服 務 器 名 / 版 本 號 " , 如: NCSA/1.5b5 。

HTTP_ACCEPT : 客 戶 端 發 送 的 "Accpect : 標 題 行 " , 對 應 于 客 戶 端 能 處 理 的 MIME 類 型, 格 式 為 " 類 型 / 子 類 型, 類 型 / 子 類 型 等 " , 如: */* , image/gif , image/jpeg 。

HTTP_REFERER : 是 Referer : 標 題 行 的 目 錄, 包 含 了 CGI 請 求 時 的 表 單( Form ) 的 URL , 如: http://www.chinabyte.com/register.form 。

HTTP_USER_AGENT : 提 出 請 求 的 客 戶 端 瀏 覽 器 名, 如: Mozilla/1.2N ( Windows;I;32bit )。

    以 上 的 這 些 環 境 變 量 您 可 以 用 上 一 講 的 示 范 程 序 看 到。

2.4.2 、 命 令 行:

    CGI 命 令 行 只 在 用 ISINDEX 查 詢 時 才 用 到。 ISINDEX 查 詢 是 包 含 在 < ISINDEX> 和 < BASE HREP=".."> 之 間 的 特 殊 查 詢。 命 令 行 可 以 帶 多 個 參 數。

2.4.3 、 標 準 輸 入:

    使 用 POST 方 法 時, CGI 程 序 從 stdin 得 到 傳 輸 數 據。 前 面 講 過, 必 須 使 用 CONTENT_TYPE 和 CONTENT_LENGTH 環 境 變 量 值。 其 中 要 注 意 的 是, 數 據 中 的 URL 被 編 碼 了, 如 空 格 用 加 號 代 替、 ~ 由 %7E 代 替 等。

2.4.4 、 標 準 輸 出:

    CGI 程 序 通 過 標 準 輸 出 將 數 據 送 給 瀏 覽 器, 或 是 WEB 服 務 器 可 解 釋 的 命 令。 CGI 程 序 可 以 通 過 WEB 服 務 器 同 瀏 覽 器 對 話, 它 們 的 程 序 名 必 須 以 "nph-" 開 頭, 代 表 未 經 分 析 的 頭 信 息。 CGI 程 序 負 責 返 回 給 瀏 覽 器 的 HTTP 頭 信 息 的 正 確 性。

    在 不 使 用 nph- 程 序 時, 服 務 器 查 找 CGI 可 能 返 回 的 三 種 特 殊 的 頭 信 息:

Content-type : MIME 類 型 的 頭 信 息, 如: 輸 入 HTML 時, 常 用 "Content-type:text/html " 。

Location : 告 知 服 務 器 你 正 指 向 別 的 文 檔。 服 務 器 或 者 重 定 向 客 戶, 或 者 發 送 文 檔 內 容, 這 取 決 于 URL 是 完 整 路 徑 還 是 相 對 路 徑。

Status : 服 務 器 送 給 客 戶 端 的 狀 態 行。 格 式 為: nnnXXXXX , nnn 是 一 個 三 位 數 編 碼, 而 XXXXX 是 相 對 應 的 描 述 文 本。

上一篇:用Delphi編寫CGI程序(三)

下一篇:用Delphi編寫CGI程序(一)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美a级成人黄色| 欧美美最猛性xxxxxx| 亚洲美女www午夜| 美女av一区二区| 亚洲激情 国产| 日韩精品免费在线观看| 久久精品国产99国产精品澳门| 欧美理论电影在线播放| 久久国内精品一国内精品| 98午夜经典影视| 亚洲欧美制服综合另类| 亚洲欧美精品在线| 日本欧美国产在线| 欧美日韩国产va另类| 亚洲直播在线一区| 日韩av网址在线观看| 中文字幕亚洲一区在线观看| 国产亚洲欧美日韩美女| 国产欧美久久久久久| 精品久久久久久中文字幕大豆网| 国产精品69久久久久| 国产精品丝袜久久久久久不卡| 欧美日韩国产中字| 国产99久久精品一区二区 夜夜躁日日躁| 97精品伊人久久久大香线蕉| 欧美激情极品视频| 亚洲老头同性xxxxx| 欧美性猛交xxxx黑人猛交| 91av在线视频观看| 久久精品一偷一偷国产| 91精品综合久久久久久五月天| 韩国精品美女www爽爽爽视频| 亚洲色无码播放| 亚洲国产精品成人精品| 最近2019好看的中文字幕免费| 91色在线视频| 国产精品精品久久久| 91在线观看欧美日韩| 日韩欧美在线视频日韩欧美在线视频| 亚洲人成在线观看网站高清| 中文字幕av一区| 96精品视频在线| 成人精品在线视频| 日韩在线视频国产| 欧美精品少妇videofree| 国产精品欧美一区二区| 国产精品久久久久77777| 日韩成人小视频| 欧美日韩国产va另类| 日韩欧美在线国产| 九九热99久久久国产盗摄| 亚洲人成电影网站色www| 色综合亚洲精品激情狠狠| 欧美日韩一区二区在线播放| 国产精品女主播| 亚洲片在线观看| 国产999精品久久久影片官网| 国产精品一区二区av影院萌芽| 中文日韩在线观看| 91九色国产视频| 成人免费观看网址| 日韩成人在线电影网| 日韩免费电影在线观看| 国产精品精品视频一区二区三区| 日本免费在线精品| 日韩视频免费在线观看| 亚洲第一区中文字幕| 日本久久久久久| 久久av红桃一区二区小说| 成人做爰www免费看视频网站| 成人性生交大片免费看小说| 国产日韩在线播放| 久久久亚洲欧洲日产国码aⅴ| 国产香蕉一区二区三区在线视频| 精品女厕一区二区三区| 国内精品模特av私拍在线观看| 欧美亚州一区二区三区| 国产日韩欧美夫妻视频在线观看| 久久久999精品| 日本道色综合久久影院| 国产丝袜精品第一页| 国产亚洲精品久久久| 91影院在线免费观看视频| 97在线日本国产| 国产精品嫩草影院久久久| 亚洲第一区中文99精品| 国产69精品久久久久9| 91免费看片在线| 国产主播欧美精品| 欧美成人午夜剧场免费观看| 夜夜嗨av色综合久久久综合网| 最近2019年中文视频免费在线观看| 久久6精品影院| 亚洲aⅴ日韩av电影在线观看| 精品日本高清在线播放| 国产精品入口日韩视频大尺度| 91精品久久久久久久久中文字幕| 欧美国产第二页| 国产精品爽黄69| 国产大片精品免费永久看nba| 久久激情视频久久| 欧美精品在线播放| 欧美一级在线播放| 自拍偷拍亚洲一区| 秋霞成人午夜鲁丝一区二区三区| 国产亚洲欧美日韩一区二区| 欧美第一黄网免费网站| 91精品久久久久久久| 亚洲精品一区中文字幕乱码| 欧美激情精品久久久久| 亚洲精品视频播放| 午夜精品理论片| 一区二区亚洲精品国产| 92看片淫黄大片欧美看国产片| 亚洲激情视频在线观看| 日韩高清人体午夜| 欧美激情国内偷拍| 91精品国产色综合久久不卡98| 久久午夜a级毛片| 欧美日韩爱爱视频| 国产欧美精品在线播放| 久久免费精品日本久久中文字幕| 国产精品免费电影| 日本国产欧美一区二区三区| 97国产精品视频| 午夜精品久久久久久99热软件| 亚洲最大的免费| 欧美福利视频在线| 国产精品自拍偷拍| 国产美女被下药99| 久久99亚洲热视| 日本精品一区二区三区在线| 欧美成人剧情片在线观看| 国产午夜精品麻豆| 欧美日韩国产精品一区二区不卡中文| 国产一区二区三区精品久久久| 欧美另类交人妖| 91精品国产高清久久久久久久久| 久久视频在线免费观看| 亚洲香蕉av在线一区二区三区| 亚洲福利在线播放| 欧美国产精品人人做人人爱| 国外成人在线视频| 日韩高清电影免费观看完整| 在线日韩第一页| 欧日韩在线观看| 欧美国产亚洲视频| 亚洲热线99精品视频| 日韩国产欧美精品一区二区三区| 精品亚洲永久免费精品| 久久国产精品久久久久久久久久| 欧美黑人性视频| 日韩免费不卡av| 欧美激情亚洲自拍| 亚洲国产古装精品网站| 久久天天躁狠狠躁老女人| 欧美做受高潮电影o| 成人中文字幕+乱码+中文字幕| 亚洲国产精品va在线观看黑人| 亚洲美女视频网站| 欧美亚洲另类在线| 久久久视频精品| 爽爽爽爽爽爽爽成人免费观看| 在线观看久久久久久|