版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
用于初始化軟件服務(wù)的服務(wù)器方接口通用網(wǎng)關(guān)接口01簡(jiǎn)介解釋運(yùn)行環(huán)境歷史功能處理步驟目錄030502040607服務(wù)器配置環(huán)境變量列表CGI應(yīng)用程序編寫語言優(yōu)點(diǎn)目錄0901108010基本信息通用關(guān)接口用于初始化軟件服務(wù)的服務(wù)器方接口。這套接口描述了Web服務(wù)器與同一計(jì)算機(jī)上的軟件的通信方式。簡(jiǎn)介簡(jiǎn)介通用關(guān)接口,它是一段程序,運(yùn)行在服務(wù)器上,提供同客戶端HTML頁面的接口,通俗的講CGI就像是一座橋,把頁和WEB服務(wù)器中的執(zhí)行程序連接起來,它把HTML接收的指令傳遞給服務(wù)器,再把服務(wù)器執(zhí)行的結(jié)果返還給HTML頁;用CGI可以實(shí)現(xiàn)處理表格,數(shù)據(jù)庫查詢,發(fā)送電子郵件等許多操作,最常見的CGI程序就是計(jì)數(shù)器。CGI使頁變得不是靜態(tài)的,而是交互式的。CGI在物理上是一段程序,運(yùn)行在服務(wù)器上,提供同客戶端HTML頁面的接口。這樣說大概還不好理解。那么我們看一個(gè)實(shí)際例子:截止2013的個(gè)人主頁上大部分都有一個(gè)留言本。留言本的工作是這樣的:先由用戶在客戶端輸入一些信息,如名字之類的東西。接著用戶按一下“留言”(到目前為止工作都在客戶端),瀏覽器把這些信息傳送到服務(wù)器的CGI目錄下特定的cgi程序中,于是cgi程序在服務(wù)器上按照預(yù)定的方法進(jìn)行處理。在本例中就是把用戶提交的信息存入指定的文件中。然后cgi程序給客戶端發(fā)送一個(gè)信息,表示請(qǐng)求的任務(wù)已經(jīng)結(jié)束。此時(shí)用戶在瀏覽器里將看到“留言結(jié)束”的字樣。整個(gè)過程結(jié)束。隨著CGI的發(fā)展,類似于CGI的交互式方法也在出現(xiàn),比如Servlet,Liveware,ASP和WAI等等
。歷史歷史最初,CGI是在1993年由美國國家超級(jí)電腦應(yīng)用中心(NCSA)為NCSAHTTPdWeb服務(wù)器開發(fā)的。這個(gè)Web服務(wù)器使用了UNIXshell環(huán)境變量來保存從Web服務(wù)器傳遞出去的參數(shù),然后生成一個(gè)運(yùn)行CGI的獨(dú)立的進(jìn)程。解釋解釋通用關(guān)接口是Web服務(wù)器將用戶請(qǐng)求提交給應(yīng)用程序并從用戶處接收和返回?cái)?shù)據(jù)的標(biāo)準(zhǔn)方法。當(dāng)用戶請(qǐng)求一個(gè)頁(例如,點(diǎn)擊加亮的詞或者輸入一個(gè)站的)時(shí),服務(wù)器將返回所請(qǐng)求的頁面。然而,當(dāng)用戶在頁上填寫一張表格并將其發(fā)送出去后,它通常需要經(jīng)應(yīng)用程序處理。Web服務(wù)器常將表格中的信息轉(zhuǎn)發(fā)給一個(gè)小應(yīng)用程序,由它處理數(shù)據(jù)并返回確認(rèn)信息。這種在服務(wù)器和應(yīng)用程序之間交換信息的接口被稱作通用關(guān)接口。它是互聯(lián)上的超文本傳輸協(xié)議(HTTP)的一部分。
功能功能CGI絕大多數(shù)的CGI程序被用來解釋處理來自表單的輸入信息,并在服務(wù)器產(chǎn)生相應(yīng)的處理,或?qū)⑾鄳?yīng)的信息反饋給瀏覽器。CGI程序使頁具有交互功能。運(yùn)行環(huán)境運(yùn)行環(huán)境CGI程序最初在UNIX操作系統(tǒng)上CERN或NCSA格式的服務(wù)器上運(yùn)行。在其它操作系統(tǒng)(如:WindowsNT及Windows95等)的服務(wù)器上也廣泛地使用CGI程序,同時(shí)它也適用于各種類型機(jī)器。處理步驟處理步驟⑴通過Internet把用戶請(qǐng)求送到服務(wù)器。⑵服務(wù)器接收用戶請(qǐng)求并交給CGI程序處理。⑶CGI程序把處理結(jié)果傳送給服務(wù)器。⑷服務(wù)器把結(jié)果送回到用戶。服務(wù)器配置服務(wù)器配置CGI程序不是放在服務(wù)器上就能順利運(yùn)行,如果要想使其在服務(wù)器上順利的運(yùn)行并準(zhǔn)確的處理用戶的請(qǐng)求,則須對(duì)所使用的服務(wù)器進(jìn)行必要的設(shè)置。配置:根據(jù)所使用的服務(wù)器類型以及它的設(shè)置把CGI程序放在某一特定的目錄中或使其帶有特定的擴(kuò)展名。⑴CREN格式服務(wù)器的配置:編輯CREN格式服務(wù)器的配置文件(通常為/etc/d.conf)在文件中加入:Execcgi-bin//home/www/cgi-bin/.exec。命令中出現(xiàn)的第一個(gè)參數(shù)cgi-bin/指出了在URL中出現(xiàn)的目錄名字,并表示它出現(xiàn)在系統(tǒng)主機(jī)后的第一個(gè)目錄中,如:./cgi-bin/。命令中的第二個(gè)參數(shù)表示CGI程序目錄放在系統(tǒng)中的真實(shí)路徑。CGI目錄除了可以跟絡(luò)文件放在同一目錄中,也可以放在系統(tǒng)的其它目錄中,但必須保證在你的系統(tǒng)中也具有同樣的目錄。在對(duì)服務(wù)器完成設(shè)置后,須重新啟動(dòng)服務(wù)器(除非HTTP服務(wù)器是用inetd啟動(dòng)的)。⑵NCSA格式服務(wù)器的配置在NCSA格式服務(wù)器上有兩種方法進(jìn)行設(shè)置:①在srm.conf文件(通常在conf目錄下)中加入:ScriptAlias/cgi-bin/cgi-bin/。ScriptAlias命令指出某一目錄下的文件是可執(zhí)行程序,且這個(gè)命令是用來執(zhí)行這些程序的;此命令的兩個(gè)參數(shù)與CERN格式服務(wù)器中的Exec命令的參數(shù)的含意一樣。②在srm.conf文件加入:Addtypeapplication/x-d-cgi.cgi。此命令表示在服務(wù)器上增加了一種新的文件類型,其后第一個(gè)參數(shù)為CGI程序的MIME類型,第二個(gè)參數(shù)是文件的擴(kuò)展名,表示以這一擴(kuò)展名為擴(kuò)展名的文件是CGI程序。在用上述方法之一設(shè)置服務(wù)器后,都得重新啟動(dòng)服務(wù)器(除非HTTP服務(wù)器是用inetd啟動(dòng)的)。編寫語言編寫語言CGI可以用任何一種語言編寫,只要這種語言具有標(biāo)準(zhǔn)輸入、輸出和環(huán)境變量。對(duì)初學(xué)者來說,最好選用易于歸檔和能有效表示大量數(shù)據(jù)結(jié)構(gòu)的語言,例如UNIX環(huán)境中:·Perl(PracticalExtractionandReportLanguage)·BourneShell或者Tcl(ToolCommandLanguage)·PHP(HypertextPreprocessor))由于C語言有較強(qiáng)的平臺(tái)無關(guān)性,所以也是編寫CGI程序的首選。Windows環(huán)境中:·C和C++由于Internet上大部分服務(wù)器使用的是UNIX操作系統(tǒng),且?guī)缀跞我籙NIX操作系統(tǒng)中都有BourneShell,因而后面講述的例子中大部分是用BourneShell編寫的。最終Perl由于其跨操作系統(tǒng)、易于修改的特性成為了CGI的主流編寫語言,以至于一般的“cgi程序”就是Perl程序
。環(huán)境變量列表環(huán)境變量列表SERVER-NAME:運(yùn)行CGI序?yàn)闄C(jī)器名或IP。SERVER-INTERFACE:WWW服務(wù)器的類型,如:CERN型或NCSA型。SERVER-PROTOCOL:通信協(xié)議,應(yīng)當(dāng)是HTTP/1.0。SERVER-PORT:TCP端口,一般說來web端口是80。HTTP-ACCEPT:HTTP定義的瀏覽器能夠接受的數(shù)據(jù)類型。HTTP-REFERER:發(fā)送表單的文件URL。(并非所有的瀏覽器都傳送這一變量)HTTP-USER-AGENT:發(fā)送表單的瀏覽器的有關(guān)信息。GETWAY-INTERFACE:CGI程序的版本,在UNIX下為CGI/1.1。PATH-TRANSLATED:PATH-INFO中包含的實(shí)際路徑名。PATH-INFO:瀏覽器用GET方式發(fā)送數(shù)據(jù)時(shí)的附加路徑。SCRIPT-NAME:CGI程序的路徑名。QUERY-STRING:表單輸入的數(shù)據(jù),URL中問號(hào)后的內(nèi)容。REMOTE-HOST:發(fā)送程序的主機(jī)名,不能確定該值。REMOTE-ADDR:發(fā)送程序的機(jī)器的IP。REMOTE-USER:發(fā)送程序的人名。CONTENT-TYPE:POST發(fā)送,一般為application/xwww-form-urlencoded。CONTENT-LENGTH:POST方法輸入的數(shù)據(jù)的字節(jié)數(shù)
。優(yōu)點(diǎn)優(yōu)點(diǎn)CGI可以為我們提供許多HTML無法做到的功能。比如a.一個(gè)記數(shù)器b.顧客信息表格的提交以及統(tǒng)計(jì)c.搜索程序d.WEB數(shù)據(jù)庫,用Html是沒有辦法記住客戶的任何信息的,就算用戶愿意讓你知道。用Html也是無法把信息記錄到某一個(gè)特定文件里的。要把客戶端的信息記錄在服務(wù)器的硬盤上,就要用到CGI。這是CGI最重要的作用,它補(bǔ)充了Html的不足。是的,僅僅是補(bǔ)充,不是替代。使在絡(luò)服務(wù)器下運(yùn)行外部分應(yīng)用程序(或關(guān))成為可能。CGI-BIN目錄是存放CGI腳本的地方。這些腳本使WWW服務(wù)器和瀏覽器能運(yùn)行外部程序,而無需啟動(dòng)另一個(gè)原因程序。它是運(yùn)行在Web服務(wù)器上的一個(gè)程序,并由來自于瀏覽者的輸入觸發(fā)。CGI是在HTTP服務(wù)器下運(yùn)行外部程序(或關(guān))的一個(gè)接口,它能讓絡(luò)用戶訪問遠(yuǎn)程系統(tǒng)上的使用類型程序,就好像他們?cè)趯?shí)際使用那些遠(yuǎn)程計(jì)算機(jī)一樣。CGI能夠讓瀏覽者與服務(wù)器進(jìn)行交互,如果你曾經(jīng)遇到過在絡(luò)上填表或者進(jìn)行搜索,就很有可能就是用的CGI。盡管CGI易于使用,但是當(dāng)大批人同時(shí)使用一個(gè)CGI應(yīng)用程序是會(huì)反應(yīng)較慢,絡(luò)服務(wù)器速度也會(huì)受到很大影響。CGI應(yīng)用程序的優(yōu)點(diǎn)是可以獨(dú)立運(yùn)行。CGI應(yīng)用程序可以由大多數(shù)的編程語言編寫,如Perl(PracticalExtractionandReportLanguage)、C\C++、Java和VisualBasic等。不過對(duì)于那些沒有太多編程經(jīng)驗(yàn)的頁制作人來說,實(shí)在是一個(gè)不小的難題
。CGI應(yīng)用程序工作原理注意事項(xiàng)ASPPHPCGI應(yīng)用程序工作原理1.瀏覽器通過HTML表單或超鏈接請(qǐng)求指定服務(wù)器上一個(gè)CGI應(yīng)用程序的URL。2.服務(wù)器收到請(qǐng)求。3.服務(wù)器執(zhí)行所指定的CGI應(yīng)用程序。4.CGI應(yīng)用程序執(zhí)行所需要的操作,通常是基于瀏覽者輸入的內(nèi)容。5.CGI應(yīng)用程序把結(jié)果格式化為絡(luò)服務(wù)器和瀏覽器能夠理解的文檔(通常是HTML頁)。6.絡(luò)服務(wù)器把結(jié)果返回到瀏覽器中。注意事項(xiàng)CGI應(yīng)用程序運(yùn)行在瀏覽器可以請(qǐng)求的服務(wù)器系統(tǒng)上,執(zhí)行時(shí)需要使用服務(wù)器CPU時(shí)間和內(nèi)存。如果有成千上萬的這種程序會(huì)同時(shí)運(yùn)行,那會(huì)對(duì)服務(wù)器系統(tǒng)提出極高的要求。你要慎重考慮這個(gè)問題,以防止服務(wù)器系統(tǒng)崩潰。不完善的CGI應(yīng)用程序可能成為別人非法進(jìn)人服務(wù)器系統(tǒng)的通道,有可能導(dǎo)致重要的資料被刪除或外泄。CGI應(yīng)用程序主要的用途有以下幾種:根據(jù)瀏覽者填寫的HTML表單發(fā)送定制的答復(fù);創(chuàng)建可單擊的圖像縮小圖;創(chuàng)建一個(gè)瀏覽者可以搜索內(nèi)容的數(shù)據(jù)庫;提供服務(wù)器與數(shù)據(jù)庫的接口,并把結(jié)果轉(zhuǎn)換成HTML文檔;制作動(dòng)態(tài)HTML文檔。如果一個(gè)CGI腳本可以在每臺(tái)計(jì)算機(jī)上做同樣的事情;編寫腳本就會(huì)變的很容易。不幸的是,CGI腳本依賴于服務(wù)器的操作系統(tǒng),因此,對(duì)于非UNIX服務(wù)器來說,Prl(UNIX下編寫腳本的一個(gè)常用工具)腳本毫無用處。所以,你必須定制安裝你的CGI腳本。大多數(shù)服務(wù)器都提供CGI-BIN目錄,但是這還不夠。因?yàn)槟銘?yīng)該擁有自己的CGI-BIN。這樣,你就能運(yùn)行自己的腳本(而不是讓自己的系統(tǒng)去適應(yīng)已存在于系統(tǒng)上的腳本)。因此,你的提供商應(yīng)安裝CGI-BIN,且能夠幫助你編寫腳本ASPASP,活動(dòng)服務(wù)器頁面,就是一個(gè)編程環(huán)境,在其中,可以混合使用HTML、腳本語言以及組件來創(chuàng)建服務(wù)器端功能強(qiáng)大的Internet應(yīng)用程序。如果你以前創(chuàng)建過一個(gè)站點(diǎn),其中混合了HTML、腳本語言以及組件,你就可以在其中加入ASP程序代碼。通過在HTML頁面中加入腳本命令,你可以創(chuàng)建一個(gè)HTML用戶界面,并且,還可以通過使用組件包含一些商業(yè)邏輯規(guī)則。組件可以被腳本程序調(diào)用,也可以由其他的組件調(diào)用。ASP的工作原理:當(dāng)在Web站點(diǎn)中融入ASP功能后,將發(fā)生以下事情:1、用戶調(diào)出站點(diǎn)內(nèi)容,默認(rèn)頁面的擴(kuò)展名是.asp。2、瀏覽器從服務(wù)器上請(qǐng)求ASP文件。3、服務(wù)器端腳本開始運(yùn)行ASP。4、ASP文件按照從上到下的順序開始處理,執(zhí)行腳本命令,執(zhí)行HTML頁面內(nèi)容。5、頁面信息發(fā)送到瀏覽器。因?yàn)槟_本是在服務(wù)器端運(yùn)行的,所以Web服務(wù)器完成所有處理后,將標(biāo)準(zhǔn)的HTML頁面送往瀏覽器。這意味著,ASP只能在可以支持的服務(wù)器上運(yùn)行。讓腳本駐留在服務(wù)器端的另外一個(gè)益處是:用戶不可能看到原始腳本程序的代碼,用戶看到的,僅僅是最終產(chǎn)生的HTML內(nèi)容PHPPHP是一種服務(wù)器端的,嵌入HTML的腳本語言。PHP區(qū)別其他像客戶端Javascript的地方是它的代碼在服務(wù)器端執(zhí)行.PHP能做什么?最低水平,PHP可以做任何其他CGI程序所能做的事,例如收集表格數(shù)據(jù),生成動(dòng)態(tài)頁面內(nèi)容,或者收發(fā)cookies.可能最強(qiáng)大,最有意義的特性是PHP支持大范圍的數(shù)據(jù)庫.書寫一個(gè)支持?jǐn)?shù)據(jù)庫的Web頁面是難以置信的簡(jiǎn)單.下面是當(dāng)前支持的數(shù)據(jù)庫:AdabasDInterBaseSoliddBasemSQLSybaseEmpressMySQLVelocisFileProOracleUnixdbmInformixPostgreSQLPHP通過協(xié)議也支持與其他服務(wù)的"交談",像IMAP,SNMP,NNTP,POP3,甚至是HTTP.你也可以打開晦澀的絡(luò)接口和其他協(xié)議交互.PHP的簡(jiǎn)要?dú)v史1994年秋季,RasmusLerdorf開始構(gòu)思PHP.早期的非發(fā)行版本被用在他的主頁上,以追蹤誰在看他的在線簡(jiǎn)歷.1995年年初第一版本出臺(tái),當(dāng)時(shí)PHP只被認(rèn)為是個(gè)人主頁開發(fā)工具.它由一個(gè)非常單純的只能理解很少數(shù)特殊宏的分析引擎和一些用在主頁后端通用的工具組成.如留言簿,計(jì)數(shù)器和其他一些東西.這個(gè)分析器在1995年年中被重寫并被命名為PHP/FI第二版.FI來自Rasmus寫的另外一個(gè)包,用于解釋html形式的數(shù)據(jù).他結(jié)合了個(gè)人主頁工具腳本和形式解析器,并加上mSQL支持.這樣就產(chǎn)生PHP/FI了.PHP/FI以令人驚奇的步調(diào)成長,人們
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人工耳蝸行業(yè)政策分析:人工耳蝸行業(yè)標(biāo)準(zhǔn)推動(dòng)人工耳蝸技術(shù)普及
- 2025年個(gè)人三項(xiàng)機(jī)制學(xué)習(xí)心得體會(huì)模版(3篇)
- 課題申報(bào)參考:緊密型醫(yī)聯(lián)體視角下大灣區(qū)老年中醫(yī)藥服務(wù)評(píng)價(jià)體系構(gòu)建與實(shí)證研究
- 二零二五年度集團(tuán)高層管理人員任期制競(jìng)聘與續(xù)聘合同6篇
- 2025版小時(shí)工定期雇傭合同范本3篇
- 2025版土地征收及安置補(bǔ)償中介服務(wù)合同3篇
- 全新二零二五年度房地產(chǎn)銷售代理合同3篇
- 二零二五版企業(yè)內(nèi)部會(huì)計(jì)檔案安全保密服務(wù)協(xié)議3篇
- 2025年度文化創(chuàng)意產(chǎn)品開發(fā)與銷售合作協(xié)議范本4篇
- 二零二五年度廚具品牌設(shè)計(jì)創(chuàng)新合同4篇
- 圖像識(shí)別領(lǐng)域自適應(yīng)技術(shù)-洞察分析
- 個(gè)體戶店鋪?zhàn)赓U合同
- 禮盒業(yè)務(wù)銷售方案
- 二十屆三中全會(huì)精神學(xué)習(xí)試題及答案(100題)
- 小學(xué)五年級(jí)英語閱讀理解(帶答案)
- 仁愛版初中英語單詞(按字母順序排版)
- (正式版)YS∕T 5040-2024 有色金屬礦山工程項(xiàng)目可行性研究報(bào)告編制標(biāo)準(zhǔn)
- 【奧運(yùn)會(huì)獎(jiǎng)牌榜預(yù)測(cè)建模實(shí)證探析12000字(論文)】
- 危險(xiǎn)廢物貯存?zhèn)}庫建設(shè)標(biāo)準(zhǔn)
- 多層工業(yè)廠房主體結(jié)構(gòu)施工方案鋼筋混凝土結(jié)構(gòu)
- 救生艇筏、救助艇基本知識(shí)課件
評(píng)論
0/150
提交評(píng)論