售前電話
135-3656-7657
售前電話 : 135-3656-7657
HTTP是WWW標(biāo)準(zhǔn)傳送協(xié)議。一般采用TCP作為其下層的運(yùn)輸層協(xié)議,公認(rèn)端口號(hào)為80。但是標(biāo)準(zhǔn)也沒有強(qiáng)制要求使用TCP。如果ATM網(wǎng)絡(luò)足夠可靠的話,也可用AA1、5適配后直接在ATM網(wǎng)絡(luò)中傳送。
HTTP協(xié)議過程十分簡單,只包含一次請求和一次響應(yīng),如圖2.44所示。服務(wù)器進(jìn)程啟動(dòng)后就在80號(hào)端口守聽??蛻酎c(diǎn)擊超級(jí)鏈接或者鍵入U(xiǎn)RL后,就發(fā)起至服務(wù)器HTTP端口的TCP連接建立。然后客戶向服務(wù)器發(fā)送ASCII形式的請求數(shù)據(jù)行,請求執(zhí)行某項(xiàng)操作。服務(wù)器執(zhí)行操作后送回響應(yīng),響應(yīng)是類似多用途Internet郵件擴(kuò)充(MIME一-MultipurposeInternetMailExlensions)格式,可以傳送圖像、聲音、視像等非ASCII數(shù)據(jù)??蛻羰盏巾憫?yīng)后就斷開連接。其好處是占用主機(jī)資源可以減小到最低程度,有利于許多客戶同時(shí)訪問服務(wù)器。
需要注意的是,如果取回的頁面中有圖像(圖標(biāo)、照片、畫面等),則對于每個(gè)圖像,客戶程序都要執(zhí)行建立連接、通信和釋放連接過程,雖然效率較低,但是協(xié)議實(shí)現(xiàn)簡單。
HTTP還是一個(gè)無狀態(tài)的協(xié)議。它不記憶事務(wù)處理歷史,如果后續(xù)處理需要用到以前的信息,必須由請求報(bào)文告之,因此每次連接要傳送較多的信息。其優(yōu)點(diǎn)是運(yùn)行速度快,服務(wù)器響應(yīng)快。
HTTP協(xié)議包括兩類元素:客戶機(jī)至服務(wù)器的請求和服務(wù)器至客戶的響應(yīng)。
響應(yīng)由狀態(tài)行和信息組成。狀態(tài)行指示操作執(zhí)行情況,用編碼表不?如200表示OK,另外定義了許多出錯(cuò)碼,如400為請求錯(cuò)誤等(信息即全部或部分的Web頁面。
請求一般也由多行組成。第一行為方法、URL和協(xié)議版本號(hào),其中URL僅為路徑名。后續(xù)行進(jìn)一步告訴服務(wù)牉如何解釋本次請求。
HTTP雖然是為Web而設(shè)計(jì)的,但是它力求一般化,期望能用于未來的面向?qū)ο髴?yīng)用。正因?yàn)槿绱?,第一行的第一個(gè)詞就是請求對
Web頁面執(zhí)行的方法,即命令。推廣到面向?qū)ο髴?yīng)用,也就是對一般對象執(zhí)行的方法。HTTP規(guī)定的方法有7種,如表2.5所示。如果要訪問-般的對象,還可定義其它方法。方法名必須大寫。
各方法的簡要操作為:
(1)GET:請求服務(wù)器發(fā)送頁面。該方法可后加If-Modified-Since頭部,并寫明日期。指示服務(wù)器,如果該頁面在該日期后已有修改則發(fā)送,否則就尤需發(fā)送,這時(shí)瀏覽器將顯示原來緩存的頁面。
(2)HEAD:僅請求發(fā)送消息的頭部,不需要整個(gè)頁面。其用途是獲得頁面最后一次修改的日期。采集索引信息或測試URL的合法性。
(3)PUT:是GET的逆操作,即寫貞面。它用"f在遠(yuǎn)程服務(wù)器中建立一組貞面。請求體包含頁面,并可含鑒權(quán)頭部,以表明請求者有權(quán)執(zhí)行該操作。
(4)P0ST:和PUT類似,但不是用所附信息覆蓋寫入指定資源,而是將信息加在該資源中。其目的是讓W(xué)eb能取代USENET新聞系統(tǒng)的功能,將消息添加至新聞組中。
(5)DEIEfE:刪除某頁面。必須鑒權(quán)。
(6)LlNK和UNUNK:用于在已有頁面之間或其它資源之間建立連接。