HTTP協(xié)議用于在Internet上發(fā)送和接收消息。HTTP協(xié)議是一種請(qǐng)求-應(yīng)答式的協(xié)議 ——客戶端發(fā)送一個(gè)請(qǐng)求,,服務(wù)器返回該請(qǐng)求的應(yīng)答,,所有的請(qǐng)求與應(yīng)答都是HTTP包。HTTP協(xié)議使用可靠的TCP連接,,默認(rèn)端口是80,。HTTP的第一 個(gè)版本是HTTP/0.9,后來(lái)發(fā)展到了HTTP/1.0,,現(xiàn)在最新的版本是HTTP/1.1,。HTTP/1.1由RFC 2616 定義。 GET /index.jsp HTTP/1.1
HTTP/1.1 200 OK
wiki中的解釋 超文本傳輸協(xié)議(HTTP,,HyperText Transfer Protocol)是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)傳輸協(xié)議,。所有的WWW文件都必須遵守這個(gè)標(biāo)準(zhǔn)。設(shè)計(jì)HTTP最初的目的是為了提供一種發(fā)布和接收HTML頁(yè)面的方法,。 概述HTTP的發(fā)展是萬(wàn)維網(wǎng)協(xié)會(huì)和Internet工作小組合作的結(jié)果,,在一系列的RFC發(fā)布中確定了最終版本,,其中最著名的是RFC 2616。在RFC 2616中定義了HTTP/1.1這個(gè)今天普遍使用的版本,。 HTTP是一個(gè)用于在客戶端和服務(wù)器間請(qǐng)求和應(yīng)答的協(xié)議,。一個(gè)HTTP的客戶端,諸如一個(gè)web瀏覽器,,通過建立一個(gè)到遠(yuǎn)程主機(jī)特殊端口(默認(rèn)端口為80)的連接,,初始化一個(gè)請(qǐng)求。一個(gè)HTTP服務(wù)器通過監(jiān)聽特殊端口等待客戶端發(fā)送一個(gè)請(qǐng)求序列,, 就像“GET / HTTP/1.1”(用來(lái)請(qǐng)求網(wǎng)頁(yè)服務(wù)器的默認(rèn)頁(yè)面),有選擇的接收像email一樣的MIME消 息,,此消息中包含了大量用來(lái)描述請(qǐng)求各個(gè)方面的信息頭序列,,響應(yīng)一個(gè)選擇的保留數(shù)據(jù)主體。接收到一個(gè)請(qǐng)求序列后(如果要的話,,還有消息),,服務(wù)器會(huì)發(fā)回一 個(gè)應(yīng)答消息,諸如“200 OK”,,同時(shí)發(fā)回一個(gè)它自己的消息,,此消息的主體可能是被請(qǐng)求的文件、錯(cuò)誤消息或者其他的一些信息,。 HTTP不同于其他基于TCP的協(xié)議,,諸如FTP。 在HTTP中,,一旦一個(gè)特殊的請(qǐng)求(或者請(qǐng)求的相關(guān)序列)完成,,連接通常被中斷。這個(gè)設(shè)計(jì)使得對(duì)于當(dāng)前頁(yè)面有規(guī)則連接到另一臺(tái)服務(wù)器頁(yè)面的萬(wàn)維網(wǎng)來(lái)說(shuō),, HTTP是完美的,。當(dāng)持久連接的缺乏成為保持用戶狀態(tài)的必需選擇的方法時(shí),對(duì)網(wǎng)頁(yè)設(shè)計(jì)者來(lái)說(shuō),,會(huì)偶然產(chǎn)生一些問題,。而大部分這些方法包括了對(duì)“cookies”的使用。 這里有一個(gè)HTTP的安全版本稱為HTTPS,,HTTPS支持任何的加密算法,,只要此加密算法能被頁(yè)面雙方所理解。 HTTP(和HTTPS)由唯一資源定位器或者簡(jiǎn)稱URLs定位,。創(chuàng)造這種地址定位的語(yǔ)法為了HTML的鏈接,。 例子下面是一個(gè)HTTP客戶端與服務(wù)器之間會(huì)話的例子,運(yùn)行于www.google.com,,端口80 客戶端請(qǐng)求: GET / HTTP/1.1 (緊跟著一個(gè)換行,,通過敲入回車實(shí)現(xiàn)) 服務(wù)器應(yīng)答: HTTP/1.1 200 OK (緊跟著一個(gè)空行,,并且由HTML格式的文本組成了Google的主頁(yè)) 在HTTP1.0中,客戶端發(fā)送一個(gè)請(qǐng)求至服務(wù)器,,服務(wù)器發(fā)送一個(gè)應(yīng)答至客戶端,。之后,連接將被釋放,。另一方面,,HTTP1.1支持持久連接。這使 得客戶端可以發(fā)送請(qǐng)求并且接收應(yīng)答,,然后迅速的發(fā)送另一個(gè)請(qǐng)求和接收另一個(gè)應(yīng)答,。因?yàn)槎鄠€(gè)額外的請(qǐng)求,TCP連接并沒有被釋放,,而每個(gè)請(qǐng)求中關(guān)于TCP的 負(fù)載相對(duì)較少,。同時(shí),在得到上一個(gè)請(qǐng)求的應(yīng)答之前發(fā)送多個(gè)請(qǐng)求(通常是兩個(gè))也成為可能,。這個(gè)技術(shù)被稱為“流水線”,。 |
|
來(lái)自: 小嘯笑 > 《網(wǎng)站策劃》