超文本傳輸協(xié)議(HTTP)是應(yīng)用層協(xié)議,由于其簡(jiǎn)捷、快速的方式,適用于分布式和合作式超媒體信息系統(tǒng)。自 1990 年起,HTTP就已經(jīng)被應(yīng)用于WWW 全球信息服務(wù)系統(tǒng)。
HTTP允許使用自由答復(fù)的方法表明請(qǐng)求目的,它建立在統(tǒng)一資源識(shí)別器(URI)提供的參考原則下,作為一個(gè)地址(URL)或名字(URN),用以標(biāo)志采用哪種方法,它用類似于網(wǎng)絡(luò)郵件和多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MIME)的格式傳遞消息。
HTTP 也可用作普通協(xié)議,實(shí)現(xiàn)用戶代理與連接其它 Internet 服務(wù)(如 SMTP、 NNTP、 FTP、 GOPHER及WAIS )的代理服務(wù)器或網(wǎng)關(guān)之間的通信,允許基本的超媒體訪問(wèn)各種應(yīng)用提供的資源,同時(shí)簡(jiǎn)化了用戶代理系統(tǒng)的實(shí)施。
HTTP是一種請(qǐng)求 / 響應(yīng)式的協(xié)議。一個(gè)客戶機(jī)與服務(wù)器建立連接后,發(fā)送一個(gè)請(qǐng)求給服務(wù)器,請(qǐng)求的格式是:統(tǒng)一資源標(biāo)識(shí)符(URI)、協(xié)議版本號(hào),后面是類似 MIME 的信息,包括請(qǐng)求修飾符、客戶機(jī)信息和可能的內(nèi)容。服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息,其格式是:一個(gè)狀態(tài)行包括信息的協(xié)議版本號(hào)、一個(gè)成功或錯(cuò)誤的代碼,后面也是類似 MIME 的信息,包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容。
HTTP 的第一版本HTTP/0.9 是一種簡(jiǎn)單的用于網(wǎng)絡(luò)間原始數(shù)據(jù)傳輸?shù)膮f(xié)議。而由RFC1945定義的HTTP/1.0 ,在原 HTTP/0.9 的基礎(chǔ)上,有了進(jìn)一步的改進(jìn),允許消息以類 MIME 信息格式存在,包括請(qǐng)求/響應(yīng)范式中的已傳輸數(shù)據(jù)和修飾符等方面的信息。但是,HTTP/1.0 沒(méi)有充分考慮到分層代理服務(wù)器、高速緩沖存儲(chǔ)器、持久連接需求或虛擬主機(jī)等方面的效能。相比之下,HTTP/1.1 要求更加嚴(yán)格以確保服務(wù)的可靠性。關(guān)于安全增強(qiáng)版的HTTP(即S-HTTP),將在相關(guān)文件中再作介紹。
HTTP報(bào)文由從客戶機(jī)到服務(wù)器的請(qǐng)求和從服務(wù)器到客戶機(jī)的響應(yīng)構(gòu)成。請(qǐng)求報(bào)文格式如下:
請(qǐng)求行以方法字段開(kāi)始,后面分別是URL字段和HTTP 協(xié)議版本字段,并以CRLF結(jié)尾。SP是分隔符。除了在最后的CRLF序列中CF和LF是必需的之外,其他都可以不要。有關(guān)通用信息頭,請(qǐng)求頭和實(shí)體頭方面的具體內(nèi)容可以參照相關(guān)文件。
應(yīng)報(bào)文格式如下:
狀態(tài)碼元由3位數(shù)字組成,表示請(qǐng)求是否被理解或被滿足。原因分析是對(duì)原文的狀態(tài)碼作簡(jiǎn)短的描述,狀態(tài)碼用來(lái)支持自動(dòng)操作,而原因分析用來(lái)供用戶使用。客戶機(jī)無(wú)需用來(lái)檢查或顯示語(yǔ)法。有關(guān)通用信息頭,響應(yīng)頭和實(shí)體頭方面的具體內(nèi)容可以參照相關(guān)文件。
聯(lián)系客服