HTTP請(qǐng)求方法及響應(yīng)碼詳解(http get post head)_第1頁
HTTP請(qǐng)求方法及響應(yīng)碼詳解(http get post head)_第2頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

4/4HTTP請(qǐng)求方法及響應(yīng)碼詳解(httpgetposthead)HTTP是Web協(xié)議集中的重要協(xié)議,它是從客戶機(jī)/服務(wù)器模型發(fā)展起來的??蛻魴C(jī)/服務(wù)器是運(yùn)行一對(duì)

相互通信的程序,客戶與服務(wù)器連接時(shí),首先,向服務(wù)器提出請(qǐng)求,服務(wù)器根據(jù)客戶的請(qǐng)求,完成處理

并給出響應(yīng)。瀏覽器就是與Web服務(wù)器產(chǎn)生連接的客戶端程序,它的端口為TCP的80端口,。瀏覽器

與Web服務(wù)器之間所遵循的協(xié)議就是HTTP。

HTTP的早期版本為HTTP/0.9,它適用于各種數(shù)據(jù)信息的簡潔快速協(xié)議,但是其遠(yuǎn)不能滿足日益發(fā)展各

種應(yīng)用的需要。但HTTP/0.9作為HTTP協(xié)議具有典型的無狀態(tài)性:每個(gè)事務(wù)都是獨(dú)立進(jìn)行處理的,當(dāng)

一個(gè)事務(wù)開始就在客戶與服務(wù)器之間建立一個(gè)連接,當(dāng)事務(wù)結(jié)束時(shí)就釋放這個(gè)連接。HTTP/0.9包含Simple-Request&Simple-Responsed的報(bào)文結(jié)構(gòu)。但是客戶無法使用內(nèi)容協(xié)商,所以服務(wù)器也無法

返回實(shí)體的媒體類型。

1982年,TimBerners-Lee提出了HTTP/1.0,在此后的不斷豐富和發(fā)展中,HTTP/1.0成為最重要

的面向事務(wù)的應(yīng)用層協(xié)議。該協(xié)議對(duì)每一次請(qǐng)求/響應(yīng),建立并拆除一次連接。其特點(diǎn)是簡單、易于管理,所以它符合了大家的需要,得到了廣泛的應(yīng)用。其缺點(diǎn)是仍會(huì)發(fā)生下列問題:對(duì)用戶請(qǐng)求響應(yīng)慢、網(wǎng)絡(luò)擁

塞嚴(yán)重、安全性等。

1997年形成的HTTP/1.1,也就是現(xiàn)在普遍使用的協(xié)議,在持續(xù)連接操作機(jī)制中實(shí)現(xiàn)流水方式,即客戶

端需要對(duì)同一服務(wù)器發(fā)出多個(gè)請(qǐng)求時(shí),其實(shí)現(xiàn)在多數(shù)的網(wǎng)頁都是有多部分組成(比如多張圖片),可用

流水線方式加快速度,流水機(jī)制就是指連續(xù)發(fā)出多個(gè)請(qǐng)求并等到這些請(qǐng)求發(fā)送完畢,再等待響應(yīng)。這樣

就大大節(jié)省了單獨(dú)請(qǐng)求對(duì)響應(yīng)的等待時(shí)間,使我們得到更快速的瀏覽。

另外,HTTP/1.1服務(wù)器端處理請(qǐng)求時(shí)按照收到的順序進(jìn)行,這就保證了傳輸?shù)恼_性。當(dāng)然,服務(wù)器端

在發(fā)生連接中斷時(shí),會(huì)自動(dòng)的重傳請(qǐng)求,保證數(shù)據(jù)的完整性。

HTTP/1.1還提供了身份認(rèn)證、狀態(tài)管理和Cache緩存等機(jī)制。這里,我想特別提一下關(guān)于HTTP/1.1

中的Cache緩存機(jī)制對(duì)HTTP/1.0的不足之處的改進(jìn),它嚴(yán)格全面,既可以減少時(shí)間延遲、又節(jié)省了帶寬。HTTP/1.1采用了內(nèi)容協(xié)商機(jī)制,選擇最合適的用戶的內(nèi)容表現(xiàn)形式。

現(xiàn)在,很多地方都有用到的虛擬主機(jī)技術(shù)在HTTP/1.1中也可以實(shí)現(xiàn)。所謂的虛擬主機(jī)技術(shù),就是同一

主機(jī)地址實(shí)際對(duì)應(yīng)多臺(tái)主機(jī)。通俗的講,當(dāng)你同時(shí)在一個(gè)網(wǎng)站申請(qǐng)兩個(gè)主頁時(shí),用協(xié)議分析儀可以發(fā)現(xiàn)

其實(shí)這兩個(gè)主頁對(duì)應(yīng)的是同一個(gè)IP地址。這樣用多臺(tái)完全相同的機(jī)器形成服務(wù)器就可以提高處

理的吞吐量。

傳統(tǒng)的解決方案是改造域名服務(wù)器使其可以根據(jù)一定的算法將同一域名解釋成不同的IP地址。分別對(duì)應(yīng)

虛擬主機(jī)的每臺(tái)機(jī)器,其缺點(diǎn)是要求每臺(tái)機(jī)器占用完全獨(dú)立的IP地址,這與IP地址的缺乏是相矛盾的。HTTP/1.1提供的解決方案在HTTP協(xié)議自身中加入了指定不同主機(jī)的功能,從而多臺(tái)主機(jī)可以共享一個(gè)IP地址,既提高了性能又便于管理。

因?yàn)镠TTP/1.1是Internet現(xiàn)行的標(biāo)準(zhǔn)協(xié)議,這里詳細(xì)介紹其相關(guān)語法。

首先,HTTP/1.1格式可寫為:

其中請(qǐng)求方法是請(qǐng)求一定的Web頁面的程序或用于特定的URL??蛇x用下列幾種:

GET:請(qǐng)求指定的頁面信息,并返回實(shí)體主體。

HEAD:只請(qǐng)求頁面的首部。

POST:請(qǐng)求服務(wù)器接受所指定的文檔作為對(duì)所標(biāo)識(shí)的URI的新的從屬實(shí)體。

PUT:從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容。

DELETE:請(qǐng)求服務(wù)器刪除指定的頁面。

OPTIONS:允許客戶端查看服務(wù)器的性能。

TRACE:請(qǐng)求服務(wù)器在響應(yīng)中的實(shí)體主體部分返回所得到的內(nèi)容。

PATCH:實(shí)體中包含一個(gè)表,表中說明與該URI所表示的原內(nèi)容的區(qū)別。

MOVE:請(qǐng)求服務(wù)器將指定的頁面移至另一個(gè)網(wǎng)絡(luò)地址。

COPY:請(qǐng)求服務(wù)器將指定的頁面拷貝至另一個(gè)網(wǎng)絡(luò)地址。

LINK:請(qǐng)求服務(wù)器建立鏈接關(guān)系。

UNLINK:斷開鏈接關(guān)系。

WRAPPED:允許客戶端發(fā)送經(jīng)過封裝的請(qǐng)求。

Extension-mothed:在不改動(dòng)協(xié)議的前提下,可增加另外的方法。

比如:

GET/index.htmlHTTP/1.1

Accept:text/plain/*純ASCII碼文本文件*/

Accept:text/html/*HTML文本文件*/

User-Agent:Mozilla/4.5(WinNT)

說明瀏覽器使用Get方法請(qǐng)求文檔/index.html。瀏覽器則只允許接收純ASCII碼文本文件和HTML文本文件,其使用的引擎是Mozilla/4.5(Netscape)。

當(dāng)服務(wù)器響應(yīng)時(shí),其狀態(tài)行的信息為HTTP的版本號(hào),狀態(tài)碼,及解釋狀態(tài)碼的簡單說明?,F(xiàn)將5類狀態(tài)碼詳細(xì)列出:

①客戶方錯(cuò)誤

100繼續(xù)

101交換協(xié)議

②成功

200OK

201已創(chuàng)建

202接收

203非認(rèn)證信息

204無內(nèi)容

205重置內(nèi)容

206部分內(nèi)容

③重定向

300多路選擇

301永久轉(zhuǎn)移

302暫時(shí)轉(zhuǎn)移

303參見其它

304未修改(NotModified)

305使用代理

④客戶方錯(cuò)誤

400錯(cuò)誤請(qǐng)求(BadRequest)

401未認(rèn)證

402需要付費(fèi)

403禁止(Forbidden)

404未找到(NotFound)

405方法不允許

406不接受

407需要代理認(rèn)證

408請(qǐng)求超時(shí)

409沖突

410失敗

411需要長度

412條件失敗

413請(qǐng)求實(shí)體太大

414請(qǐng)求URI太長

415不支持媒體類型

⑤服務(wù)器錯(cuò)誤

500服務(wù)器內(nèi)部錯(cuò)誤

501未實(shí)現(xiàn)(NotImplemented)

502網(wǎng)關(guān)失敗

504網(wǎng)關(guān)超時(shí)

505HTTP版本不支持

比如:(在《TELNET……》一文中用telnet登陸80端口,相同的方法用在HTTP/1.1中,會(huì)發(fā)現(xiàn)沒有顯示,下面補(bǔ)充說明之)

telnethttp://./doc/1a1402d5767f5acfa1c7cd98.html80

HEAD/HTTP/1.1

host:http://./doc/1a1402d5767f5acfa1c7cd98.html/*本行為輸入內(nèi)容*/

HTTP/1.1501MethodNotImplemented

Date:Web,01Nov200007:12:29GMT/*當(dāng)前的日期/時(shí)間*/

Server:Apache/1.3.12(Unix)/*Web服務(wù)器信息*/

Allow:GET,HEAD,OPTION,TRACE/*支持的方法類型*/

Connection:close

Connect-Type:Text/html;charset=iso-8859-1/*連接的媒體類型*/

501Method

NotImplemented

MethodNotImplemented

headto/inde

x.htmlnotsupported.

Invalidmethodinrequesthead/htp/1.1

Apache/1.3.12Serverathttp://./doc/1a1402d5767f5acfa1c7cd98.htmlPort80

關(guān)于實(shí)體頭部的內(nèi)容還可以有:

LastModified:請(qǐng)求文檔的最近修改時(shí)間。

Expires:請(qǐng)求文檔的過期時(shí)間。

Connect-length:文檔數(shù)據(jù)的長度。

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論