售前電話
135-3656-7657
售前電話 : 135-3656-7657
上面討論的H'I'ML只提供單向通信能力,客戶可以點擊請求服務(wù)器提供所需的頁面,但是反過來服務(wù)器向客戶請求信息就難以做到。隨著Web的廣泛使用,越來越多的應(yīng)用需要客戶和服務(wù)器之間進(jìn)行交互式通信,例如電子購物、數(shù)據(jù)庫訪問、免費軟件散發(fā)等都要求客戶填登記表、給出搜索關(guān)鍵詞、鍵入個人信息等。為此,HI'ML2.0版本引入了登記表(Form)這一重要的結(jié)構(gòu)。
登記表定義了多種類型輸入框(box),用戶可在這些框中寫入文字或作出選擇,H'I'ML用INPUT標(biāo)記進(jìn)行描述,其一般格式為:
(INPUTTYPE="···"NAME="…"VALUE="…"SIEE=…〉其中,
NAME指示變鼠名,用戶輸入該框的數(shù)據(jù)就賦值給該變量;VALUE指示該框輸人數(shù)據(jù)的缺省值;SIZE指示該框所占的列數(shù)。
登記表已定義的輸入框類型有:
.文本(TEXT)框:為輸入框的缺省類型,用戶需在此類框中鍵入字符串。
.無線電(RADIO)按鈕:單選按鈕,用戶需在所列的幾個選擇鈕中選擇一個。
.開關(guān)按鈕(CHECKBOX):多選按鈕,用戶可在所列兒個選擇按鈕中任選若干個。
· 門令(PASSWORD)框:同文本框,只是用戶鍵入字符串不顯示。
.文本域(TEXTAREA)框:同文本框,只是可包含多行文字。
.發(fā)送(SUBMIT)按鈕:點擊此鈕,將登記表所有信息送往服務(wù)器。
.復(fù)位(RESET)按鈕:點擊此鈕,登記表各框回復(fù)初態(tài)。
.隱形(HIDDEN)框:該框可顯示文字,但不能點擊或修改。其用途是用戶需在多個頁面中進(jìn)行登記選擇,某些選項已在前面的頁面中選定,在當(dāng)前頁面不允許再作變動。
.圖形(IMAGE):用于活性地圖和其它可點擊圖像。用戶在地圖上點擊后,選定像素的座標(biāo)值賦給指定變量,登記表立即自動返回給服務(wù)器。
如果單選或多選項較多,HI'ML還可提供菜單式選擇形式,此時所有選擇項列于標(biāo)記對(SE1ECT〉和(/SE1ECT〉之間。
登記表信息的發(fā)送有3種方式:點擊發(fā)送按鈕;點擊活性地圖;在只有一個文本框的登記表中,只要簡單地回車即可。
整個登記表的內(nèi)容列于標(biāo)記對(FORM〉和(/FORM〉之間,F(xiàn)ORM帶有2個必備參數(shù),其格式為:(FORMACTION="…''METI-10D=…〉
其中,ACTION指示發(fā)送目的地的URL,ME'IlIOD指示發(fā)送采用的方法。HTML定義了兩種發(fā)送方法:GET和POST,也就是登記表的各項信息如何以緊湊的文本形式表示,回送給服務(wù)器。
登記表信息送達(dá)后,服務(wù)器必須據(jù)此進(jìn)行操作和處理,例如檢查口令、核對信用卡、檢索數(shù)據(jù)、回送頁面等,這些處理和具體應(yīng)用有關(guān),并需和數(shù)據(jù)庫等交互,因此必須在服務(wù)器機(jī)器中設(shè)置后臺處理程序。由于Web服務(wù)器程序可由各單位自行開發(fā),類型各不相同,要使后臺程序在任何服務(wù)器上都能運行,就需要定義一個服務(wù)器和登記表后臺處理程序之間的標(biāo)準(zhǔn)接口,通過這個接口,服務(wù)器將登記表信息傳遞給后臺程序,后臺程序則將處理后的輸出信息返回服務(wù)器。這-標(biāo)準(zhǔn)接口就稱之為CCI。它是WWW實現(xiàn)交互功能的主要E具e通常稱遵守CCI標(biāo)準(zhǔn)的服務(wù)器側(cè)后臺可執(zhí)行程序為CCI程序,規(guī)定放在站點的cgi-bin目錄下??梢杂萌魏尉幊陶Z言書寫。
圖2.46示出CGI程序和服務(wù)器、客戶的關(guān)系及相關(guān)接口。其基本工作過程可以下述例子予以說明。設(shè)某部門建立了一個Web網(wǎng)頁的索引數(shù)據(jù)庫,可根據(jù)關(guān)鍵字或主題進(jìn)行檢索,并想提供給Web用戶使用。為此,必須編寫一個CGI程序,能對數(shù)據(jù)庫進(jìn)行操作,且經(jīng)CGI與Web服務(wù)器接口。該CGI程序的URL設(shè)為,表示該程序名為pagesearch,位于站點的cgi-bin目錄下。
當(dāng)Web用戶需使用該服務(wù)時,服務(wù)器送出登記表,用戶填好表格后點擊發(fā)送按鈕,瀏覽器按(FORM〉中ACTION參數(shù)指明的URL建立TCP連接,然后調(diào)用MEIHOD參數(shù)規(guī)定的方法(通常為POST),將登記表中的各項信息經(jīng)HTTP傳給服務(wù)器。服務(wù)器識別這是對位于C織-bin目錄中某頁面文件的操作,就將該文件解釋為可執(zhí)行程序,啟動該程序,并將客戶輸入的登記表信息傳給此程序,同時設(shè)置必要的環(huán)境變量,如CONTENT-LENGIB說明輸入字符串的長度。
然后,CGI程序調(diào)用庫程序?qū)斎胄畔⑦M(jìn)行語法分析,將其轉(zhuǎn)換為更易使用的形式,并據(jù)此對數(shù)據(jù)庫進(jìn)行相應(yīng)的操作。最后,CGI根據(jù)操作結(jié)果生成輸出信息,該信息可以是一個
HTML頁面,并將其返回服務(wù)器(服務(wù)器將其送交客戶。由此實現(xiàn)Web的交互過程。