亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cgi++-

?? Delphi技巧
??
字號:
    作為Internet上最主要的信息管理和組織手段,WWW由一系列相應的技術及應用構成,其組成技術包括HTTP、HTML、URL以及CGI等。WWW服務器本身提供一些基本功能,以完成客戶端的請求和自身的管理。但不同的用戶有不同的功能要求,其中許多功能是WWW服務器本身    不能提供的(比如在線查詢等),它必須提供一種擴展手段,以允許用戶編寫擴展應用程序來擴展服務器的功能。CGI(CommonGatewayInterface,即通用網關接口)就是這樣的一種標準擴展技術。下面就CGI的基本技術及其開發進行討論。    

    一、CGI技術
    1.1CGI的提出
    CGI是外部擴展應用程序與WWW服務器交互的一個標準接口。按照CGI標準編寫的外部擴展應用程序可以處理客戶端(一般是WWW瀏覽器)輸入的協同工作數據,完成客戶端與服務器的交互操作。這在實際應用中非常有用,如可以編寫CGI外部擴展程序來訪問外部數據庫,客戶端用戶可以通過它和WWW服務器來進行數據查詢。
    CGI一般分兩種:標準CGI和緩沖CGI。所有的WWW服務器均應支持標準CGI,按標準CGI編寫的程序與具體的WWW服務器無關。而按緩沖CGI編寫的程序與WWW服務器有關。
    1.2CGI的工作原理
    1.標準CGI
    客戶端、服務器、CGI接口與外部程序間的關系可用圖1-1表示:
    如上圖所示,服務器是客戶端(如瀏覽器)與擴展程序之間的通道。當客戶端的用戶完成了一定輸入工作(比如填充完HTML文檔中的FORM表)之后向服務器發出HTTP請求(稱為CGI請求),服務器守護進程接收到該請求后,就創建一個子進程(稱為CGI進程)。該CGI子進程將CGI請求的有關數據設置成環境變量,在外部CGI程序與服務器間建立兩條數據通道(標準I/O),然后啟動URL指定的CGI程序,并與該子進程保持同步,以監測CGI程序的執行狀態。子進程通過標準輸出流將處理結果傳遞給服務器守護進程,守護進程再將處理結果作為應答消息回送到客戶端。
    外部CGI程序通過環境變量、命令行參數、標準輸入輸出與WWW服務器進行通訊,傳遞有關參數和處理結果。
    *環境變量:當服務器守護進程創建子進程運行CGI程序時,設置相應的環境變量和命令行參數,以傳遞客戶端和服務器的有關信息給該子進程。
    *命令行參數:命令行參數僅在有HTML文檔中有ISINDEX查詢的情況下使用。
    *標準輸入輸出:當HTTP請求模式采用POST方式時,CGI程序通過標準輸入流和有關環境變量來獲取客戶端傳輸數據;如采用GET方式時,CGI程序直接通過環境變量獲取客戶端傳輸數據。當CGI程序要返回處理結果(一般為HTML文檔)給客戶端時,它通過標準輸出流將該結果數據傳遞給服務器守護進程。
    2.緩沖CGI
    標準CGI使用Stdin/Stdout來進行數據通訊,這是由其最初開發環境(Unix操作系統)所決定的。但是許多Windows環境下的編程工具(如VB和Delphi等)是不支持這種I/O方式的,這時就不能用它們來開發基于標準CGI的應用程序。于是有些服務器提出了緩沖CGI的概念。緩沖CGI亦稱為WinCGI。
    此時CGI擴展程序與服務器間通過緩沖CGI而不是標準CGI進行通訊,而緩沖CGI與服務器間的通訊還是通過標準CGI接口。后者由WWW服務器的內置緩沖處理程序實現。這幾部分的關系可用圖1-2表示:
    緩沖CGI的工作原理與標準CGI相似,不同的是當服務器守護進程接收到客戶端的CGI請求時,所建立的CGI子進程將CGI請求的有關數據設置成環境變量外,還將它們保存在輸入緩沖區中;通過緩沖處理程序在外部CGI程序與服務器間建立兩條數據通道(輸入/輸出緩沖區)。CGI子進程通過輸出緩沖區將處理結果傳遞給服務器守護進程。
    此處外部CGI程序通過環境變量和輸入/輸出緩沖區與WWW服務器進行通訊,傳遞有關參數和處理結果。此處環境變量的意義同上,不過這些環境變量及其相應值保存在輸入緩沖區中。此外,輸入緩沖區中還存放客戶端的傳輸數據(如采用POST模式的話)。輸出緩沖區用來存放擴展程序的處理結果。
    3.標準CGI與緩沖CGI的區別
    對CGI擴展程序而言,最主要差別在于數據的I/O不同:對緩沖CGI,服務器與CGI擴展程序間的數據交換是通過緩沖區;而標準CGI是通過標準I/O。
    使用緩沖CGI可選擇更多的開發工具,可以開發Windows95和WindowsNT下的GUI擴展程序;而使用標準CGI所選用的開發工具必須支持標準I/O。
    只有少數幾種WWW服務器支持緩沖CGI,因此基于它的擴展程序兼容性不如標準CGI好。
    1.3CGI與其他WWW技術的關系
    CGI作為WWW服務器的標準擴展技術,由上面CGI的基本原理可知,它和許多其它的WWW技術密切相關,如HTTP、HTML、MIME和URL等,下面主要就它與前兩種技術的關系進行研究。
    1.CGI與HTTP協議
    CGI通過HTTP協議在客戶端和服務端進行通訊:
    *客戶端用戶代理向服務器發送的請求是HTTP請求消息。該消息中含有處理用戶輸入的CGI擴展程序的URL值。
    *CGI擴展程序在處理結束后,返回給客戶端的應答是HTTP應答消息。因此CGI程序的輸出數據必須符合HTTP應答消息的語法格式,這在基于CGI標準的開發中非常重要。
    2.CGI與HTML語言
    CGI擴展程序的輸出數據(HTTP應答消息)一般有兩種:符合MIME類型的文檔(最普遍的是HTML文檔,表示為text/html);指向其它文檔的URL鏈接。這兩種方式都與HTML語言有關,數據的組織須符合HTML語法格式。
    1.4CGI開發的幾個問題
    基于WWW的人機交互一般有兩種情況:本地交互和通過網絡傳輸的交互。前者是指客戶端用戶的輸入數據在客戶端本地進行處理,然后將處理結果返回給用戶,常見的開發工具有JavaScript(Netscape開發)和VBScript(Microsoft開發);后者是指客戶端用戶輸入的數據通過網絡傳輸到WWW服務器,服務器處理結束后將處理結果返回給客戶端用戶,常見的開發技術是WWW服務器擴展技術(如CGI,API等)。此處主要討論基于標準CGI技術的通過網絡進行數據傳輸的交互實現。
    對這種人機交互的實現,主要有三個環節需要解決:如何獲取客戶端傳輸的數據,如何提取有效數據并處理這些數據,如何向客戶端返回應答。下面分別結合有關技術,談談這三方面問題的解決。
    1.客戶端傳輸數據的獲取
    由第三章CGI的原理可知,當服務端守護進程接收到客戶端用戶代理(如瀏覽器)提交的CGI請求時,所創建的CGI子進程會設置與CGI請求內容有關的環境變量,并建立服務器與外部CGI程序之間通訊的通道(即標準I/O)。CGI程序可以通過環境變量,標準I/O或命令行參數獲取客戶端用戶輸入的數據。數據的獲取與請求所采用的HTTP方法(Method)和用戶所使用的請求方式有關。
    用戶通過CGI請求數據一般有三種方式:HTMLFORM表,ISINDEX,可點擊圖片(ISMAP或Imagemaps)。后兩種方式是通過命令行參數傳遞用戶的輸入數據;在C語言中(下面的舉例亦然),CGI程序可以用argc和argv[int]獲得這些參數值。而前一種方式則取決于HTTP請求方法;但不管采用何種方法,都將用到環境變量來傳遞有關請求內容。
    ●獲取環境變量
    環境變量的類別很多,包含客戶端和服務端的詳細信息。在一般CGI程序開發中,下述幾個環境變量在數據傳遞中起著重要作用。
    *GATEWAY—INTERFACE
    CGI程序所使用的CGI標準接口的版本號。如使用的CGI1.1版,該變量表示為“CGI/1.1”
    *REQUEST—METHOD
    HTTP請求方法。根據該變量值可判斷CGI請求所采用的請求方法,以決定是通過Stdin還是通過環境變量QUERY—STRING獲取客戶端傳輸數據。
    *QUERY—STRING
    QUERY—STRING是CGI程序URL中″?″之后的數據。當使用ISINDEX查詢或FORM表使用GET方法時,客戶端傳輸數據可以通過讀取該變量而獲得。
    *CONTENT—LENGTH
    CONTENT—LENGTH表示客戶端傳輸數據的字節數。
    *CONTENT—TYPE
    CONTENT—TYPE表示客戶端傳輸數據的數據編碼類型。
    利用—environ(int)函數可以獲得所有的環境變量及其值;利用getenv(constchar*)函數可以獲得指定環境變量的相應值。
    ●HTTP請求方法
    客戶端用戶代理提交的CGI請求是HTTP請求,其中包括HTTP請求方法。HTTP協議定義的請求方法中常用的主要有GET和POST??蛻舳薋ORM表的METHOD屬性用來設置請求方法,其缺省值為GET。
    如果在FORM中使用GET方法,CGI程序通過環境變量QUERY—STRING獲取客戶端傳輸數據。
    如果在FORM中使用POST方法,CGI程序通過通過CONTENT—LENGTH獲取客戶端傳輸數據的字節數,通過Stdin讀取客戶端傳輸數據。
    2.有效數據的提取和處理
    通過上述方式獲取的客戶端傳輸數據的一般格式為:
    name[1]=value[1]&name[2]=value[2]&...name[i]=value[i]...name[n]=value[n]
    (1Ι=iΙ=n)
    其中name[i]表示變量名,它是在FORM表中某輸入域的名字;value[i]表示變量值,它是用戶在FORM表中某輸入域中輸入的值。
    客戶端傳輸數據的每對″Name=Value″串由′&′字符分隔,其數據編碼類型可以從環境變量CONTENT—TYPE獲取。CGI/1.1版僅支持“application/x-www-form-urlen

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影在线一区| 欧美日韩免费视频| 国产精品国产自产拍在线| 国产成人免费视频一区| 日韩毛片高清在线播放| 在线影视一区二区三区| 日韩国产欧美在线视频| 欧美va天堂va视频va在线| 国产精品综合网| 国产精品激情偷乱一区二区∴| www.一区二区| 国产精品成人免费| 在线亚洲免费视频| 亚洲一二三区视频在线观看| 欧美日韩一区二区三区在线看 | 男女男精品视频| 日韩视频123| 国产电影精品久久禁18| 中文字幕第一区第二区| av中文一区二区三区| 一区二区三区国产精品| 欧美老女人第四色| 欧美日韩日日摸| 日本在线不卡一区| 欧美tk丨vk视频| av综合在线播放| 亚洲3atv精品一区二区三区| 日韩美女天天操| 成人激情图片网| 亚洲图片欧美视频| 欧美大片在线观看一区| 成人黄色在线网站| 亚洲一区二区三区四区五区中文| 欧美日韩国产小视频在线观看| 麻豆精品一区二区三区| 国产精品日韩成人| 欧美日韩一二三| 国产一区二区成人久久免费影院| 国产精品美女久久久久久久网站| 欧美日韩一区二区在线观看| 国产一区二区三区四区五区美女| 国产精品无码永久免费888| 在线精品亚洲一区二区不卡| 精品综合久久久久久8888| 国产精品传媒入口麻豆| 91精品国产色综合久久不卡蜜臀| 成人性生交大合| 日韩国产在线观看| 成人欧美一区二区三区白人| 日韩视频一区二区三区在线播放| 成人久久18免费网站麻豆| 视频一区视频二区在线观看| 日本一区二区动态图| 91精品免费观看| 97se亚洲国产综合自在线观| 麻豆国产一区二区| 久久综合久久99| 欧美精品在线一区二区| 成人av在线资源| 精品一区二区在线播放| 亚洲午夜一区二区| 国产精品国产三级国产aⅴ原创 | 欧美视频第二页| 国产一区二区伦理| 亚洲成a人片综合在线| 国产三级一区二区三区| 3751色影院一区二区三区| 色综合久久中文综合久久97 | 久久99国内精品| 亚洲国产综合91精品麻豆| 国产精品嫩草影院com| 日韩欧美色综合| 制服丝袜亚洲色图| 欧洲精品中文字幕| 99久久亚洲一区二区三区青草 | 一区二区在线观看视频在线观看| 久久综合九色综合欧美亚洲| 在线不卡a资源高清| 色噜噜久久综合| 91丨porny丨蝌蚪视频| 成人一区在线观看| 国产成人精品综合在线观看| 精油按摩中文字幕久久| 日本在线不卡视频| 天堂蜜桃一区二区三区| 成人丝袜视频网| 久久国产生活片100| 亚洲狠狠爱一区二区三区| 国产精品伦理在线| 欧美成人精品1314www| 欧美自拍偷拍一区| 国产成人av在线影院| 国产一区二区三区免费播放| 美女免费视频一区| 久久se这里有精品| 国产一区二区三区综合| 国产白丝精品91爽爽久久| 国产成人免费高清| youjizz久久| 一本大道久久a久久精二百| 91丨porny丨最新| 色综合久久88色综合天天6| 日本道免费精品一区二区三区| 99精品欧美一区| 在线欧美日韩精品| 欧美电影影音先锋| 精品国产免费人成在线观看| 欧美精品一区二区三区视频| 国产日产欧美一区二区视频| 国产精品高清亚洲| 亚洲国产另类精品专区| 青青草原综合久久大伊人精品优势| 免费在线观看日韩欧美| 国产乱人伦偷精品视频不卡 | 国产尤物一区二区| 成人综合婷婷国产精品久久 | 欧美日韩精品一区二区三区四区| 欧美日本视频在线| 久久综合国产精品| 亚洲欧美另类小说视频| 午夜精品一区二区三区免费视频| 裸体歌舞表演一区二区| 国产成+人+日韩+欧美+亚洲| 色综合久久天天综合网| 7777精品伊人久久久大香线蕉的| 精品国产电影一区二区| 国产精品成人一区二区艾草| 亚洲444eee在线观看| 狠狠久久亚洲欧美| 99视频有精品| 91精品国产一区二区三区 | 悠悠色在线精品| 蜜桃久久精品一区二区| 波多野结衣亚洲一区| 91精品国产一区二区| 国产精品初高中害羞小美女文| 日本女人一区二区三区| 成人夜色视频网站在线观看| 欧美日韩免费不卡视频一区二区三区| 精品成人在线观看| 日韩美女视频19| 丝袜美腿亚洲一区二区图片| 国产91综合网| 91黄色小视频| 久久久综合网站| 午夜精品福利一区二区三区蜜桃| 国产成人aaaa| 欧美一级高清片| 尤物在线观看一区| 粉嫩高潮美女一区二区三区 | 色婷婷综合久久久中文一区二区| 欧美一区二区视频免费观看| 最近日韩中文字幕| 日韩一级成人av| 夜夜爽夜夜爽精品视频| 成人午夜精品在线| 欧美精品一区二区在线播放| 亚洲一区二区不卡免费| 成人三级伦理片| 久久综合色一综合色88| 亚洲国产毛片aaaaa无费看| 91老师片黄在线观看| 国产精品沙发午睡系列990531| 久久国产综合精品| 91丨国产丨九色丨pron| 国产精品视频一二三区| 国产毛片精品视频| 精品国产一区a| 青草av.久久免费一区| 欧美日韩国产综合一区二区三区| 自拍av一区二区三区| 不卡一区在线观看| 日本一区二区三区免费乱视频 | 国内外精品视频| 日韩视频在线永久播放| 偷拍一区二区三区四区| 91福利精品第一导航| 最好看的中文字幕久久| 成人伦理片在线| 国产精品不卡在线观看| 不卡的av中国片| 亚洲人妖av一区二区| 不卡的av电影在线观看| 久久综合色天天久久综合图片| 石原莉奈在线亚洲三区| 欧美性受xxxx黑人xyx| 一区二区三区四区精品在线视频| 99国产精品久久久久久久久久久| 久久这里只有精品6| 日韩精品成人一区二区三区| 337p亚洲精品色噜噜狠狠| 日韩av电影一区| 精品国精品国产| 国产剧情一区二区三区| 国产三区在线成人av| 99热99精品| 一区二区三区免费观看| 欧美日韩国产一区二区三区地区| 午夜精品福利一区二区三区av| 欧美一级免费大片|