MENU 服務(wù) 案例
網(wǎng)站建設(shè)-網(wǎng)站設(shè)計(jì)-北京網(wǎng)站建設(shè)-高端網(wǎng)站制作公司-尚品中國(guó)
我們通過(guò)擁抱變化創(chuàng)造
360°的品牌價(jià)值__
簡(jiǎn)體
簡(jiǎn)體中文 English

尚品簽約辰欣藥業(yè)股份有限公司官網(wǎng)建設(shè)

類型:尚品動(dòng)態(tài) 了解更多

Web數(shù)據(jù)庫(kù)訪問(wèn)原理

來(lái)源:尚品中國(guó)| 類型:網(wǎng)站百科| 時(shí)間:2012-08-28
北京網(wǎng)站設(shè)計(jì)公司尚品中國(guó):一般實(shí)現(xiàn)Web數(shù)據(jù)庫(kù)系統(tǒng)的連接和應(yīng)用可采取兩種方法:一種是在Web服務(wù)器端提供中間件來(lái)連接Weh服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器,另一種是把應(yīng)用程序下載到客戶端并在客戶端直接訪問(wèn)數(shù)據(jù)庫(kù)。中間件負(fù)責(zé)管理Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器之間的通信并提供應(yīng)用程序服務(wù),它能夠直接調(diào)用外部程序或腳本代碼來(lái)訪問(wèn)數(shù)據(jù)庫(kù),因此可以提供與數(shù)據(jù)庫(kù)相關(guān)的動(dòng)態(tài)HTML頁(yè)面,或執(zhí)行用戶查詢,并將查詢結(jié)果格式化成HTML頁(yè)面,通過(guò)Weh服務(wù)器返回給web瀏覽器。最基本的中間件技術(shù)有公共網(wǎng)關(guān)接口(Common Gareway Interfaee,CGI)和應(yīng)用程序接口(Appliearion programmer Interfaee,ApI)兩種。

Web數(shù)據(jù)庫(kù)技術(shù)采用三層或多層體系結(jié)構(gòu),前端采用基于瘦客戶機(jī)的瀏覽器技術(shù),通過(guò)Web服務(wù)器及中間件訪問(wèn)數(shù)據(jù)庫(kù),如圖5-19所示。
Web數(shù)據(jù)庫(kù)技術(shù)

目前,主要應(yīng)用的Web數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)包括以下幾個(gè)方面。

1.公共網(wǎng)關(guān)接口技術(shù)CGI

CGI是Web服務(wù)器運(yùn)行時(shí)外部程序的規(guī)范,按照CGI編寫(xiě)的程序可以擴(kuò)展服務(wù)器的功能,完成服務(wù)器本身不能完成的工作,外部程序執(zhí)行時(shí)可以生成HTML文檔,并將文檔返回Web服務(wù)器。CGI應(yīng)用程序能夠與瀏覽器進(jìn)行交互作用,還可以通過(guò)數(shù)據(jù)庫(kù)的API與數(shù)據(jù)庫(kù)服務(wù)器等外部數(shù)據(jù)源進(jìn)行通信。如一個(gè)CGI程序可以從數(shù)據(jù)庫(kù)服務(wù)器中獲取數(shù)據(jù),然后格式化為HTML文檔后發(fā)送給瀏覽器,也可以將從瀏覽器獲得的數(shù)據(jù)存人數(shù)據(jù)庫(kù)。幾乎所有的服務(wù)器軟件都支持CGI,開(kāi)發(fā)者可以使用任何一種Web服務(wù)器內(nèi)置語(yǔ)言編寫(xiě)CGI,其中包括流行的C、C++、Visual Basie和Delphi等。按照應(yīng)用環(huán)境的不同,CGI又可以分為標(biāo)準(zhǔn)CGI和間接CCI。

標(biāo)準(zhǔn)CGI使用命令行參數(shù)或環(huán)境變量來(lái)表示服務(wù)器的詳細(xì)請(qǐng)求,服務(wù)器與瀏覽器間的通信采用標(biāo)準(zhǔn)輸人輸出方式。當(dāng)服務(wù)器接收瀏覽器發(fā)來(lái)的CGI請(qǐng)求時(shí),服務(wù)器對(duì)該請(qǐng)求進(jìn)行分析,設(shè)置所需的環(huán)境變量或命令參數(shù),然后創(chuàng)建一個(gè)子進(jìn)程啟動(dòng)CGI程序,CGI執(zhí)行完畢后,使用標(biāo)準(zhǔn)輸出將執(zhí)行結(jié)果返回給服務(wù)器。CGI的輸出可以有許多類型,例如,HTML文檔、圖像、純文本或聲音文件等,它還可以輸出指向其他文檔的鏈接。

間接CGI又稱為緩沖CGI,或者WinCGI。在CGI程序(不支持標(biāo)準(zhǔn)輸人輸出)和CGI接口之間插人一個(gè)緩沖程序,緩沖程序與CGI接口間用標(biāo)準(zhǔn)輸人輸出進(jìn)行通信。這樣。CGI程序采用緩沖區(qū)(臨時(shí)文件)而不是標(biāo)準(zhǔn)輸人/輸出來(lái)進(jìn)行數(shù)據(jù)通信。當(dāng)服務(wù)器接收到瀏覽器的請(qǐng)求時(shí),創(chuàng)建一個(gè)子進(jìn)程啟動(dòng)緩沖程序,緩沖子進(jìn)程與服務(wù)器進(jìn)行通信。它通過(guò)標(biāo)準(zhǔn)輸人陣俞出、命令行參數(shù)和環(huán)境變量獲得有關(guān)數(shù)據(jù),并將這些數(shù)據(jù)保存在一輸人緩沖區(qū)中。然后緩沖子進(jìn)程再創(chuàng)建一個(gè)子進(jìn)程啟動(dòng)CGI程序,CGI程序讀取輸人緩沖區(qū)的內(nèi)容,處理瀏覽器的請(qǐng)求,將輸出的內(nèi)容保存在輸出緩沖區(qū)中。緩沖進(jìn)程通過(guò)命令行參數(shù)或環(huán)境變量等方式,傳送輸人緩沖區(qū)和輸出緩沖區(qū)的地址(或臨時(shí)文件)到CGI子進(jìn)程。緩沖進(jìn)程與CGI子進(jìn)程保持同步以監(jiān)測(cè)CGI程序的執(zhí)行狀態(tài)。當(dāng)緩沖進(jìn)程得到CGI子進(jìn)程的輸出時(shí),設(shè)置有關(guān)環(huán)境并終止該子進(jìn)程,然后通過(guò)標(biāo)準(zhǔn)輸出與服務(wù)通信,通過(guò)服務(wù)器CGI程序的輸出結(jié)果返回給瀏覽器。相似地,服務(wù)器進(jìn)程與緩?fù)膺M(jìn)程也應(yīng)保持同步以監(jiān)測(cè)緩沖進(jìn)程執(zhí)行的狀態(tài)。間接CGI最明顯的特點(diǎn)是服務(wù)器與CGI程序間的數(shù)據(jù)交換是通過(guò)緩沖區(qū)而不是標(biāo)準(zhǔn)輸人輸出進(jìn)行的。

可以看出,CGI程序應(yīng)用是作為一個(gè)獨(dú)立的外部應(yīng)用來(lái)運(yùn)行的,與服務(wù)器上的其他進(jìn)程競(jìng)爭(zhēng)處理器資源,這將導(dǎo)致運(yùn)行速度減慢。而且,用CGI開(kāi)發(fā)支持Web應(yīng)用程序也是一個(gè)比較困難的過(guò)程。開(kāi)發(fā)人員不僅要掌握HTML語(yǔ)言,還要掌握低級(jí)編程語(yǔ)言。CGI的另外一個(gè)眾所周知的缺陷是不提供狀態(tài)管理功能,如果沒(méi)有狀態(tài)管理,那么瀏覽器的每一次請(qǐng)求,都需要一個(gè)連接的建立與釋放的過(guò)程,效率較低。另外,必須用某個(gè)特定數(shù)據(jù)庫(kù)服務(wù)器的專用SQL語(yǔ)言來(lái)手工編寫(xiě)數(shù)據(jù)庫(kù)接口,其移植性也不好。

2.專用API

目前生產(chǎn)Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器的各大公司紛紛推出各自專用的API進(jìn)行Web與數(shù)據(jù)庫(kù)的連接。Netscape公司推出了NSAPI。微軟公司推出了用于連接其Weh服務(wù)器IIS與數(shù)據(jù)庫(kù)的ISAPI。Oracle使用標(biāo)準(zhǔn)的Wel)公共網(wǎng)關(guān)接口,將其PL/SQL開(kāi)發(fā)環(huán)境與Web連接在一起,使用Oracle Web Server,通過(guò)weh客戶機(jī)可直接調(diào)用Oracle的存儲(chǔ)過(guò)程來(lái)生成動(dòng)態(tài)的Web文檔。sybase的Web .sql把Web服務(wù)器和sybase sQL server及其他的數(shù)據(jù)庫(kù)環(huán)境(通過(guò)Omni Connect)集成在一起,在使用CGI與Web服務(wù)器進(jìn)行協(xié)作的同時(shí),還可以使用Netseape的NSAPI直接與Web服務(wù)器連接。運(yùn)用InforMix的WebDataBade模塊就無(wú)須再進(jìn)行傳統(tǒng)的CGI編程,它將所有的Web結(jié)點(diǎn)內(nèi)容和應(yīng)用邏輯集中存儲(chǔ)在服務(wù)器中,可以很容易地建立動(dòng)態(tài)的、多媒體功能豐富的Web應(yīng)用。

3.服務(wù)器端腳本編程技術(shù)

當(dāng)前較流行的幾種有代表性的服務(wù)器端的腳本編程技術(shù)是ASP(ACtive Server Page)、PHP(Personal Home Page)和JSP(Java Server Pages)。

ASP是微軟公司于1996年11月推出的Web應(yīng)用程序開(kāi)發(fā)技術(shù)。在有關(guān)文檔中ASP被描述為:一個(gè)服務(wù)器端的腳本環(huán)境,可以生成和運(yùn)行動(dòng)態(tài)的、交互的、高性能的Weh服務(wù)器應(yīng)用程序。ASP是目前公認(rèn)的建立 Windows NT動(dòng)態(tài)站點(diǎn)最好的工具。它與ADO(Active Data Object)的充分結(jié)合,提供了強(qiáng)大的數(shù)據(jù)庫(kù)訪問(wèn)功能,成為了進(jìn)行網(wǎng)上數(shù)據(jù)庫(kù)管理的重要手段。


Asp內(nèi)含IIS當(dāng)中,提供一個(gè)服務(wù)器端(server-side)的seripting環(huán)境。站點(diǎn)服務(wù)器會(huì)自動(dòng)將ASP的程序碼,解釋為標(biāo)準(zhǔn)HTML格式的主頁(yè)內(nèi)容,再送到用戶端的瀏覽器上顯示出來(lái)。用戶端只要使用常規(guī)可執(zhí)行HTML碼的瀏覽器,即可瀏覽。

ASP雖然具有強(qiáng)大優(yōu)勢(shì),但它在安全性上仍存在一些問(wèn)題,例如,可能引起NT內(nèi)存泄露,以及最初只能在Windows 9x/NT/2000環(huán)境下運(yùn)行等。對(duì)于前者,微軟公司已經(jīng)推出了補(bǔ)丁程序,以彌補(bǔ)它的不足;而對(duì)于后者,已經(jīng)有人開(kāi)發(fā)了在非微軟的Wel)服務(wù)器上支持AsP語(yǔ)言的軟件,如Apache_ASP、chiliSoft ASP等,可以在Red Hat、SuSE等操作系統(tǒng)下運(yùn)行AsP腳本。數(shù)據(jù)庫(kù)的支持包含了Oracle、sybase、MysQL等。

PHP是一種基于服務(wù)器端來(lái)創(chuàng)建動(dòng)態(tài)網(wǎng)頁(yè)的嵌人式腳本語(yǔ)言。當(dāng)一個(gè)訪問(wèn)者打開(kāi)主頁(yè)時(shí),服務(wù)端便執(zhí)行PHP的命令并將執(zhí)行結(jié)果發(fā)送至訪問(wèn)者的瀏覽器中,這類似于ASP,然而PHP和ASP不同之處在于PHP開(kāi)放源碼和跨越平臺(tái),PHP可以遠(yuǎn)行在Windows NT和多種版本的UNIX上。它大量地借用C、Java和Perl語(yǔ)言的語(yǔ)法,并結(jié)合PHP自己的特性,較Web開(kāi)發(fā)者能夠快速地寫(xiě)出動(dòng)態(tài)頁(yè)面。它支持目前絕大多數(shù)數(shù)據(jù)庫(kù),是開(kāi)發(fā)企業(yè)網(wǎng)站的利器。PHP是完全免費(fèi)的,使用者可以自由下載,甚至可以不受限制地獲得源代碼,加進(jìn)自己需要的特色。

JSP是Sun公司倡導(dǎo)的、許多公司參與一起建立的一種新一代網(wǎng)站開(kāi)發(fā)語(yǔ)言。它完全解決了目前ASP、PHP的通?。_本級(jí)執(zhí)行。JSP可以在ServerIet和JavaBean的支持下,完成功能強(qiáng)大的站點(diǎn)程序。

ASP、PHP和JSP各有所長(zhǎng),學(xué)習(xí)者可以選擇某種適合自己的技術(shù)來(lái)進(jìn)一步學(xué)習(xí)。
本文發(fā)布于UEO營(yíng)銷型網(wǎng)站建設(shè)公司尚品中國(guó)http://xjjufeng.cn/
來(lái)源聲明:本文章系尚品中國(guó)編輯原創(chuàng)或采編整理,如需轉(zhuǎn)載請(qǐng)注明來(lái)自尚品中國(guó)。以上內(nèi)容部分(包含圖片、文字)來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)及時(shí)與本站聯(lián)系(010-60259772)。
TAG標(biāo)簽:

如果您的網(wǎng)站可以增加轉(zhuǎn)化次數(shù)并提高客戶滿意度,該怎么辦?

預(yù)約專業(yè)咨詢顧問(wèn)溝通!

*尚品專業(yè)顧問(wèn)將盡快與您聯(lián)系

免責(zé)聲明

非常感謝您訪問(wèn)我們的網(wǎng)站。在您使用本網(wǎng)站之前,請(qǐng)您仔細(xì)閱讀本聲明的所有條款。

1、本站部分內(nèi)容來(lái)源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動(dòng)。

2、本站不承擔(dān)用戶因使用這些資源對(duì)自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問(wèn)題參見(jiàn)國(guó)家有關(guān)法律法規(guī),當(dāng)本聲明與國(guó)家法律法規(guī)沖突時(shí),以國(guó)家法律法規(guī)為準(zhǔn)。

4、如果侵害了您的合法權(quán)益,請(qǐng)您及時(shí)與我們,我們會(huì)在第一時(shí)間刪除相關(guān)內(nèi)容!

聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com

現(xiàn)在就與專業(yè)咨詢顧問(wèn)溝通!

  • 全國(guó)服務(wù)熱線

    400-700-4979

  • 北京服務(wù)熱線

    010-60259772

信息保護(hù)中請(qǐng)放心填寫(xiě)
在線咨詢

免責(zé)聲明

非常感謝您訪問(wèn)我們的網(wǎng)站。在您使用本網(wǎng)站之前,請(qǐng)您仔細(xì)閱讀本聲明的所有條款。

1、本站部分內(nèi)容來(lái)源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動(dòng)。

2、本站不承擔(dān)用戶因使用這些資源對(duì)自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問(wèn)題參見(jiàn)國(guó)家有關(guān)法律法規(guī),當(dāng)本聲明與國(guó)家法律法規(guī)沖突時(shí),以國(guó)家法律法規(guī)為準(zhǔn)。

4、如果侵害了您的合法權(quán)益,請(qǐng)您及時(shí)與我們,我們會(huì)在第一時(shí)間刪除相關(guān)內(nèi)容!

聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com