
HTTP協(xié)議用于客戶端和服務(wù)器端之間的通信##
請(qǐng)求訪問(wèn)文本貨圖像等資源的一端稱(chēng)為客戶端,提供資源響應(yīng)的一端稱(chēng)為服務(wù)器端。HTTP規(guī)定,請(qǐng)求從客戶端發(fā)出,最后服務(wù)器端響應(yīng)該請(qǐng)求并返回。
下面是從客服端發(fā)送給baidu服務(wù)器端的請(qǐng)求報(bào)文中的內(nèi)容:

起始行開(kāi)頭的GET表示請(qǐng)求訪問(wèn)服務(wù)器的方法,緊跟后面的
/表示請(qǐng)求訪問(wèn)的資源對(duì)象(請(qǐng)求URI),HTTP/1.1是HTTP版本號(hào)。請(qǐng)求報(bào)文是由請(qǐng)求方法、請(qǐng)求URI、協(xié)議版本、可選的請(qǐng)求首部字段和內(nèi)容實(shí)體構(gòu)成。
接收到請(qǐng)求的服務(wù)器,將請(qǐng)求內(nèi)容的處理結(jié)果以響應(yīng)的方式返回。

200 OK表示請(qǐng)求的處理結(jié)果的狀態(tài)碼和原因短語(yǔ).
響應(yīng)報(bào)文由協(xié)議版本、狀態(tài)碼、原因短語(yǔ)、可選的響應(yīng)首部字段以及實(shí)體主體構(gòu)成。
HTTP是不保存狀態(tài)的協(xié)議,HTTP協(xié)議自身不對(duì)請(qǐng)求和響應(yīng)之間的通信狀態(tài)進(jìn)行保存,不做持久化處理,更快的處理大量事物,確保協(xié)議的可伸縮性。為了實(shí)現(xiàn)期望的保持狀態(tài)功能,引入了cookie技術(shù)。
HTTTP協(xié)議使用了URI定位互聯(lián)網(wǎng)資源。當(dāng)客戶端請(qǐng)求訪問(wèn)資源而發(fā)送請(qǐng)求時(shí),URI需要將作為請(qǐng)求報(bào)文中的請(qǐng)求URI包含在內(nèi)。如果不是訪問(wèn)特定資源而是對(duì)服務(wù)器本身發(fā)起請(qǐng)求,可以用一個(gè)*來(lái)代替請(qǐng)求URI。
HTTP方法##
- GET:獲取資源
GET方法用來(lái)請(qǐng)求訪問(wèn)已被URI識(shí)別的資源。 - POST:傳輸實(shí)體主體
- PUT:傳輸文件(一般不使用)
- HEAD:獲得報(bào)文首部
- DELETE:刪除文件
- OPTIONS:詢問(wèn)支持的方法
- TRACE:追蹤路徑
- CONNECT:要求用隧道協(xié)議連接處理
持久連接節(jié)省通信量
HTTP協(xié)議的初始版本中,每進(jìn)行一次HTTP通信就要斷開(kāi)一次TCP連接,HTTP1.1提出了持久連接的方法。只要任意一端沒(méi)有明確提出斷開(kāi)連接,則保持TCP連接狀態(tài)。在HTTP/1.1中,所有的連接默認(rèn)都是持久連接。持久連接使得多數(shù)請(qǐng)求以管線化發(fā)送方式成為可能,同時(shí)并行發(fā)送多個(gè)請(qǐng)求。
Cookie技術(shù)通過(guò)在請(qǐng)求和響應(yīng)報(bào)文中寫(xiě)入Cookie信息來(lái)控制客戶端的狀態(tài)。
本文整理自圖解HTTP 圖片來(lái)自于網(wǎng)絡(luò) 轉(zhuǎn)載請(qǐng)注明出處