HTTP,全稱 HyperText Transfer Protocol,即超文本傳輸協(xié)議。它是互聯(lián)網(wǎng)應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議,我們平時(shí)瀏覽網(wǎng)頁(yè)的時(shí)候就是使用HTTP協(xié)議。比如當(dāng)你在瀏覽器中輸入www.baidu.com訪問(wèn)百度網(wǎng)站的時(shí)候,你會(huì)注意到HTTP被自動(dòng)添加在網(wǎng)頁(yè)地址的開(kāi)頭變?yōu)閔ttp://www.baidu.com了。這表明你現(xiàn)在正在使用HTTP來(lái)獲取這個(gè)網(wǎng)頁(yè)。HTTP協(xié)議是基于TCP協(xié)議之上的,是Web瀏覽器和Web服務(wù)器之間的應(yīng)用層協(xié)議。 HTTP由請(qǐng)求和響應(yīng)構(gòu)成,是一個(gè)標(biāo)準(zhǔn)的客戶端服務(wù)器模型。HTTP協(xié)議永遠(yuǎn)都是客戶端發(fā)起請(qǐng)求,服務(wù)器回送響應(yīng)。 HTTP是一個(gè)無(wú)狀態(tài)的協(xié)議。無(wú)狀態(tài)是指客戶機(jī)(Web瀏覽器)和服務(wù)器之間不需要建立持久的連接,這意味著當(dāng)一個(gè)客戶端向服務(wù)器端發(fā)出請(qǐng)求,然后服務(wù)器返回響應(yīng)(response),連接就被關(guān)閉了,在服務(wù)器端不保留連接的有關(guān)信息。HTTP的無(wú)狀態(tài)特性簡(jiǎn)化了服務(wù)器的設(shè)計(jì),使服務(wù)器更容易支持大量并發(fā)的HTTP請(qǐng)求。每一次請(qǐng)求都是完全獨(dú)立的,每個(gè)請(qǐng)求包含了處理這個(gè)請(qǐng)求所需的完整的數(shù)據(jù)。HTTP遵循請(qǐng)求(Request)/應(yīng)答(Response)模型??蛻魴C(jī)(瀏覽器)向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器處理請(qǐng)求并返回適當(dāng)?shù)膽?yīng)答。所有HTTP連接都被構(gòu)造成一套請(qǐng)求和應(yīng)答。 HTTP請(qǐng)求方法 在HTTP通信中,每個(gè)HTTP請(qǐng)求報(bào)文都包含一個(gè)方法。用以告訴Web服務(wù)端需要執(zhí)行什么具體的動(dòng)作,這些動(dòng)作包括:獲取指定Web頁(yè)面、提交內(nèi)容到服務(wù)器、刪除服務(wù)器上的資源文件等,這些HTTP請(qǐng)求報(bào)文中包含的方法被稱為HTTP請(qǐng)求方法。其中,常用的HTTP請(qǐng)求方法有: HTTP狀態(tài)碼 HTTP狀態(tài)碼(HTTP Status Code)是用來(lái)表示W(wǎng)eb服務(wù)器響應(yīng)http請(qǐng)求狀態(tài)的數(shù)字代碼。每當(dāng)Web客戶端(瀏覽器)向Web服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求時(shí),Web服務(wù)器都會(huì)返回一個(gè)包含HTTP狀態(tài)碼的信息頭用以響應(yīng)瀏覽器的請(qǐng)求。這個(gè)代碼是一個(gè)三位數(shù)字代碼,作用是告知Web客戶端此次的請(qǐng)求是否成功,或者是否要采取其他的動(dòng)作方式。HTTP狀態(tài)碼由三個(gè)十進(jìn)制數(shù)字組成,第一個(gè)十進(jìn)制數(shù)字定義了狀態(tài)碼的類型,共分為5種類型: HTTP幾種常見(jiàn)的狀態(tài)碼: HTTP報(bào)文 HTTP報(bào)文可分為兩種,一種是從Web客戶端發(fā)往Web服務(wù)器的HTTP報(bào)文,稱為請(qǐng)求報(bào)文(Request Message)。另外一種是從Web服務(wù)器發(fā)往Web客戶端的報(bào)文,稱為響應(yīng)報(bào)文(Response Message)。 HTTP請(qǐng)求報(bào)文由四個(gè)部分組成:請(qǐng)求行、請(qǐng)求頭部、空行、請(qǐng)求數(shù)據(jù)。
同樣的,HTTP響應(yīng)報(bào)文也由四部分組成:
HTTP協(xié)議工作原理 HTTP協(xié)議屬于OSI模型中的第七層應(yīng)用層協(xié)議,HTTP協(xié)議的主要應(yīng)用就是WWW服務(wù)應(yīng)用。下面就以WWW服務(wù)應(yīng)用為例介紹HTTP協(xié)議的通信原理。
|
|