HTTP通信協(xié)議_第1頁(yè)
HTTP通信協(xié)議_第2頁(yè)
HTTP通信協(xié)議_第3頁(yè)
HTTP通信協(xié)議_第4頁(yè)
HTTP通信協(xié)議_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、HTTP通信協(xié)議基本概念HTTP(Hypertext Transfer Protocol )是目前在Internet 上應(yīng)用最廣泛的通信 協(xié)議之一。簡(jiǎn)言之,HTTP®信協(xié)議允許用戶提出HTTP“請(qǐng)求” (request ),然 后由服務(wù)器視實(shí)際處理結(jié)果傳回 HTTP“回應(yīng)” (response),其基本運(yùn)行方式為:當(dāng)用戶向Wet®務(wù)器送出請(qǐng)求時(shí),WebK務(wù)器將會(huì)開啟一個(gè)新連接。通過(guò)這個(gè)連接,用戶可以將 HTTP青求傳送給Web服務(wù)器。當(dāng)Wetffi務(wù)器收到HTTP青求時(shí),將進(jìn)行解析與處理,并將處理結(jié)果包裝成HTTP回應(yīng)。最后,Wet®務(wù)器會(huì)將HTTP0應(yīng)傳送至用戶

2、。只要用戶接收到 HTTP0應(yīng),Web 服務(wù)器就會(huì)關(guān)閉這個(gè)連接,用戶的執(zhí)行狀態(tài)將不會(huì)被保存。圖1-1用戶與WebK務(wù)器的交互關(guān)系幅h耐用程序用戶送出inTPi怏3 產(chǎn);1HTTP目成注意:HTTRS可以使用非持久連接(nonpersistent connection) ,也可以使用 持久連接(persistent connection)。HTTP/1.0 使用非持久連接,HTTP/1.1 默認(rèn) 使用持久連接。HTTP青求消息下面是一個(gè)典型的HTTP青求消息:GET /somedir/page.html HTTP/1.1Host:Connection:closeUser-agent:Mozill

3、a/4.0Accept-language:zh-cn (額外的回車符和換行符)首先,這個(gè)消息是用普通的ASCII文本書寫的。其次,這個(gè)消息共有 5行(每行 以一個(gè)回車符和一個(gè)換行符結(jié)束),最后一行后面還有額外的一個(gè)回車特和換行 符。當(dāng)然,一個(gè)請(qǐng)求消息可以不止這么多行,也可以僅僅只有一行。第一行稱為 請(qǐng)求行(request line),后續(xù)各行都稱為頭部行(header)。請(qǐng)求行有3個(gè)字段: 方法字段、URL字段、HTTP®本字段。方法字段有若干個(gè)值可供選擇,包括GET POSTW HEAD HTTP青求消息絕大多數(shù)使用GETT法,這是瀏覽器用來(lái)請(qǐng)求對(duì)象 的方法,所請(qǐng)求的對(duì)象就在 UR

4、L字段中標(biāo)識(shí)。本例表明瀏覽器在請(qǐng)求對(duì)象 /somedir/page.html 。版本字段是不言自明的;本例中瀏覽器實(shí)現(xiàn)的是 HTTP/1.1 版本?,F(xiàn)在看一下本例中的各個(gè)頭部行。頭部行Host:;服務(wù)器發(fā)出所請(qǐng)求的對(duì)象后應(yīng)關(guān)閉連接。盡管產(chǎn)生這個(gè)請(qǐng)求消息的瀏覽器實(shí)現(xiàn)的是HTTP/1.1版本,它還是不想使用持久連接。User-agent頭部行指定用戶代理,也就是產(chǎn)生當(dāng)前請(qǐng)求的瀏 覽器的類型。本例的用戶代理是 Mozilla/4.0 ,它是Nelscape瀏覽器的一個(gè)版 本。這個(gè)頭部行很有用,因?yàn)榉?wù)器實(shí)際上可以給不同類型的用戶代理發(fā)送同一 個(gè)對(duì)象的不同版本(這些不同版本位用同一個(gè) URL尋址)。最

5、后,Accept-languag: 頭部行指出要是所請(qǐng)求對(duì)象有簡(jiǎn)體中文版本,那么用戶寧愿接收這個(gè)版本;如果沒有這個(gè)語(yǔ)言版本,那么服務(wù)器應(yīng)該發(fā)送其默認(rèn)版本。Accept-languag:僅僅是HTTP勺眾多內(nèi)容協(xié)商頭部之一。我們接著看一下下圖所示的請(qǐng)求消息的一般格式。HTTP青求形式(HTTP method被請(qǐng)求的URIHTTP版本標(biāo)頭信息 (Request Header)請(qǐng)求內(nèi)容(Message Body)I XI lit I ISIterR*ijB*lHrjikf-QETwrnvLl*AraptE*“btmip. mqnnpt rafWP用點(diǎn)山渝 iihdmpnptMlC.orMrdL */

6、34E - UrgkQ4 (h-tAA<«t Encodng pp, dfflXt lh4f *Acf<1HM ,Ccnr>< wi,0<5p*tti*: rCSlt M; '. mdCv二kK4*x<sn,呼口*仙圖2:HTTP請(qǐng)求格式上面的請(qǐng)求消息例子符合這個(gè)格式,不過(guò)一般格式中還有一個(gè)位于各個(gè)頭部(及額外的回車符和換行符)之后的“附屬體” (body)。附屬體不在GETf法中使用, 而是在POSTJ法中使用。POSTJ法適用于需由用戶填寫表單的場(chǎng)合,如往google 搜索引擎中填入待搜索的詞。用戶提交表單后,瀏覽器就像用戶點(diǎn)擊了超鏈接

7、那 樣仍然從服務(wù)器請(qǐng)求一個(gè) WebM面,不過(guò)該頁(yè)面的具體內(nèi)容卻取決于用戶填寫在 表單各個(gè)字段中的值。如果瀏覽器使用 POSTT法提出該請(qǐng)求,那么請(qǐng)求消息附 屬體中包含的是用戶填寫在表單各個(gè)字段中的值。與GEDT法類似的是HEADf法,兩者的差別只是服務(wù)器在對(duì) HEA,f法的響應(yīng)消息中去掉了所請(qǐng)求的對(duì)象 , 其他內(nèi)容則與對(duì)GETJ法的響應(yīng)消息一樣。HEADT法通常用于HTTP服務(wù)器軟件 開發(fā)人員進(jìn)行調(diào)試。HTTP響應(yīng)消息下面是一個(gè)典型的HTT團(tuán)向應(yīng)消息:HTTP/1.1 200 0KConnectlon:closeDate: Thu, 13 Oct 2005 03:17:33 GMTServer

8、: Apache/ (Unix)Last Nodified:Mon,22 Jun 1998 09;23;24 GMTContent Length:682lContent Type:text/html(數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)這個(gè)響應(yīng)消息分為3部分:1個(gè)起始的狀態(tài)行(status line) , 6個(gè)頭部行、 1個(gè)包含所請(qǐng)求對(duì)象本身的附屬體。狀態(tài)行有3個(gè)字段:協(xié)議版本字段、狀態(tài)碼字段、原因短語(yǔ)字段。本例的狀態(tài)行表明,服務(wù)器使用HTTP/1.1版本,響應(yīng)過(guò)程完全正常(也就是說(shuō)服務(wù)器找到了所請(qǐng)求的對(duì)象,并正在發(fā)送 )。現(xiàn)在看一下本例中的各個(gè)頭部行。服務(wù)器使用Connectlon:close頭部行告知客戶

9、自己將在發(fā)送完本消息后關(guān)閉TCP1接。Date:頭部行指出服務(wù)器創(chuàng)建并發(fā)送本響應(yīng)消息的日期和時(shí)間。注意,這并不是對(duì)象本身的創(chuàng)建時(shí)間或最后修改 時(shí)間,而是服務(wù)器把該對(duì)象從其文件系統(tǒng)中取出,插入響應(yīng)消息中發(fā)送出去的時(shí)問(wèn)。Server:頭部行指出本消息是由Apache服務(wù)器產(chǎn)生的;它與HTTP青求消息中 的User-agent:頭部行類似。Last Nodified:頭部行指出對(duì)象本身的創(chuàng)建或最 后修改日期或時(shí)間。Last Nodified:頭部對(duì)于對(duì)象的高速緩存至關(guān)重要,且不 論這種高速緩存是發(fā)生在本地客戶主機(jī)上還是發(fā)生在網(wǎng)絡(luò)高速緩存服務(wù)器主機(jī) (也就是代理服務(wù)器主機(jī))上。Content Leng

10、th:頭部行指出所發(fā)送對(duì)象的字節(jié)數(shù)。 ContentType:頭部行指出包含在附屬體中的對(duì)象是 HTMLt本。對(duì)象的類型是 由Content Type:頭部而不是由文件擴(kuò)展名正式指出的。根據(jù)HTTPS信協(xié)議的規(guī)定,每個(gè)" HTTP回應(yīng)”必須包含下列信息:HTTP版本HTTP犬態(tài)代碼(Status Code )HTTP犬態(tài)代碼所對(duì)應(yīng)的摘要文字(Reason-Phrase) 標(biāo)頭信息 (Response Header)回應(yīng)主體(Message Body)Hl 111St1 iarHTrl.l 2(12DMTut. 1ftHOv 2003C Enc uJi q 牛中圖3:響應(yīng)消息的一般格式200 ;請(qǐng)求成功,所請(qǐng)求信息在響應(yīng)消息中返回。301 Moved Permanently:所請(qǐng)求的對(duì)象己

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論