7.2 HTTP運(yùn)作方式
HTTP協(xié)議采用了請求/響應(yīng)模型逊朽。
一次HTTP操作稱為一個事務(wù),其工作過程可分為四步:
(1)客戶機(jī)與服務(wù)器需要建立連接曲伊。只要單擊某個超級鏈接叽讳,HTTP的工作就開始了。
(2)建立連接后坟募,客戶機(jī)發(fā)送一個請求給服務(wù)器岛蚤,請求方式的格式為:統(tǒng)一資源標(biāo)識符(URL)、協(xié)議版本號懈糯,后邊是MIME信息包括請求修飾符涤妒、客戶機(jī)信息和可能的內(nèi)容。
(3)服務(wù)器接到請求后赚哗,給予相應(yīng)的響應(yīng)信息她紫,其格式為一個狀態(tài)行,包括信息的協(xié)議版本號屿储、一個成功或錯誤的代碼贿讹,后邊是MIME信息包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容够掠。
(4)客戶端接收服務(wù)器所返回的信息通過瀏覽器顯示在用戶的顯示屏上民褂,然后客戶機(jī)與服務(wù)器斷開連接。
許多HTTP通訊是由一個用戶代理初始化的并且包括一個申請?jiān)谠捶?wù)器上資源的請求疯潭。最簡單的情況可能是在用戶代理(UA)和源服務(wù)器(O)之間通過一個單獨(dú)的連接來完成赊堪。
當(dāng)一個或多個中介出現(xiàn)在請求/響應(yīng)鏈中時,情況就變得復(fù)雜一些竖哩。中介有三種:代理(Proxy)雹食、網(wǎng)關(guān)(Gateway)和通道(Tunnel)。
一個代理根據(jù)URI的絕對格式來接受請求期丰,重寫全部或部分消息群叶,通過URI的標(biāo)識把已格式化過的請求發(fā)送到服務(wù)器。
網(wǎng)關(guān)是一個接收代理钝荡,作為一些其它服務(wù)器的上層街立,并且如果必須的話,可以把請求翻譯給下層的服務(wù)器協(xié)議埠通。
一個通道作為不改變消息的兩個連接之間的中繼點(diǎn)赎离。當(dāng)通訊需要通過一個中介(例如:防火墻等)或者是中介不能識別消息的內(nèi)容時,通道經(jīng)常被使用端辱。