什么是http協(xié)議,以及http協(xié)議的工作原理是什么?下面將進(jìn)行詳細(xì)的講解
HTTP流程的基本原理
HTTP協(xié)議是一種請(qǐng)求/應(yīng)答協(xié)議。 與主機(jī)建立連接后,客戶(hù)以請(qǐng)求方法,URI和協(xié)議版本的形式向服務(wù)器發(fā)送請(qǐng)求,其中包括請(qǐng)求修改、客戶(hù)信息和可能的正文內(nèi)容。
服務(wù)器用包括消息協(xié)議版本和成功或錯(cuò)誤代碼的狀態(tài)進(jìn)行應(yīng)答,包括服務(wù)器信息,實(shí)體維護(hù)信息和可能的實(shí)體內(nèi)容的類(lèi)MIME消息。
大部分的HTTP通信由用戶(hù)代理引發(fā),由發(fā)送到一些原服務(wù)器上資源的請(qǐng)求構(gòu)成。最簡(jiǎn)單的情形,可以經(jīng)用戶(hù)代理(UA,User Agent)和原服務(wù)器之間的單一連接完成。
在HTTP中,客戶(hù)端總是通過(guò)建立一個(gè)連接與發(fā)送一個(gè)HTTP請(qǐng)求來(lái)發(fā)起一個(gè)事務(wù)。服務(wù)器不能主動(dòng)去與客戶(hù)端聯(lián)系,也不能給客戶(hù)端發(fā)出一個(gè)回叫連接。客戶(hù)端與服務(wù)器端都可以提前中斷一個(gè)連接。例如,當(dāng)用一個(gè)瀏覽器下載一個(gè)文件時(shí),用戶(hù)可以通過(guò)單擊"停止"鍵來(lái)中斷文件的下載,關(guān)閉與服務(wù)器的HTTP連接。
HTTP協(xié)議的工作原理主要包括四個(gè)步驟(如圖10-1所示)。
圖10-1 HTTP協(xié)議工作原理
(1)連接:Web瀏覽器與Web服務(wù)器建立連接,打開(kāi)一個(gè)稱(chēng)為socket(套接字)的虛擬文件,此文件的建立標(biāo)志著連接建立成功。
(2)請(qǐng)求:Web瀏覽器通過(guò)socket向Web服務(wù)器提交請(qǐng)求。HTTP的請(qǐng)求一般是GET或POST命令(POST用于FORM參數(shù)的傳遞)。GET命令的格式為:GET 路徑/文件名 HTTP/1。其中,文件名指出所訪問(wèn)的文件,HTTP/1.0指出Web瀏覽器使用的HTTP版本。
(3)應(yīng)答:Web瀏覽器提交請(qǐng)求后,通過(guò)HTTP協(xié)議傳送給Web服務(wù)器。Web服務(wù)器接到后,進(jìn)行事務(wù)處理,處理結(jié)果又通過(guò)HTTP傳回給Web瀏覽器,從而在Web瀏覽器上顯示出所請(qǐng)求的頁(yè)面。例:假設(shè)客戶(hù)機(jī)與www.mycompany.com:8080/mydir/index.html建立了連接,就會(huì)發(fā)送GET命令:GET /mydir/index.html HTTP/1.0。主機(jī)名為www.mycompany.com的Web服務(wù)器從它的文檔空間中搜索子目錄mydir的文件index.html。如果找到該文件,Web服務(wù)器把該文件內(nèi)容傳送給相應(yīng)的Web瀏覽器。為了告知 Web瀏覽器傳送內(nèi)容的類(lèi)型,Web服務(wù)器首先傳送一些HTTP頭信息,然后傳送具體內(nèi)容(即HTTP體信息),HTTP頭信息和HTTP體信息之間用一個(gè)空行分開(kāi)。其中,常用的HTTP頭信息如下。
HTTP 1.0 200 Ok:這是Web服務(wù)器應(yīng)答的第一行,列出服務(wù)器正在運(yùn)行的HTTP版本號(hào)和應(yīng)答代碼。代碼"200 OK"表示請(qǐng)求完成。
MIME_Version:1.0:它指示MIME類(lèi)型的版本。
新聞熱點(diǎn)
疑難解答
圖片精選