HTTP協(xié)議詳解


HTTP協(xié)議版本

HTTP協(xié)議有兩種版本:HTTP1.0/HTTP1.1 ,可以這樣區(qū)別:

  • HTTP1.0對(duì)于每個(gè)連接都的建立一次連接一次只能傳送一個(gè)請(qǐng)求和響應(yīng)肠缔,請(qǐng)求就會(huì)關(guān)閉奴璃,HTTP1.0沒有Host字段;
  • HTTP1.1在同一個(gè)連接中可以傳送多個(gè)請(qǐng)求和響應(yīng)蔬顾,多個(gè)請(qǐng)求可以重疊和同時(shí)進(jìn)行,HTTP1.1必須有Host字段。

HTTP請(qǐng)求類型

根據(jù)HTTP標(biāo)準(zhǔn)须揣,HTTP請(qǐng)求可以使用多種請(qǐng)求方法。例如:HTTP1.1支持7種請(qǐng)求方法:GET钱豁、POST耻卡、HEAD、OPTIONS牲尺、PUT卵酪、DELETE和TARCE。在Internet應(yīng)用中,最常用的方法是GET和POST凛澎。

  • GET 請(qǐng)求獲取由Request-URI所標(biāo)識(shí)的資源霹肝。
  • POST 在Request-URI所標(biāo)識(shí)的資源后附加新的數(shù)據(jù)。
  • HEAD 請(qǐng)求獲取由Request-URI所標(biāo)識(shí)的資源的響應(yīng)消息報(bào)頭塑煎。
  • OPTIONS 請(qǐng)求查詢服務(wù)器的性能沫换,或查詢與資源相關(guān)的選項(xiàng)和需求。
  • PUT 請(qǐng)求服務(wù)器存儲(chǔ)一個(gè)資源最铁,并用Request-URI作為其標(biāo)識(shí)讯赏。
  • DELETE 請(qǐng)求服務(wù)器刪除由Request-URI所標(biāo)識(shí)的資源。
  • TRACE 請(qǐng)求服務(wù)器回送收到的請(qǐng)求信息冷尉,主要用語測(cè)試或診斷漱挎。

HTTP請(qǐng)求格式

當(dāng)瀏覽器向Web服務(wù)器發(fā)出請(qǐng)求時(shí),它向服務(wù)器傳遞了一個(gè)數(shù)據(jù)塊雀哨,也就是請(qǐng)求信息磕谅,HTTP請(qǐng)求信息由3部分組成:
① 請(qǐng)求方法 URI 協(xié)議/版本
② 請(qǐng)求頭(Request Header)
③ 請(qǐng)求正文下面是一個(gè)HTTP請(qǐng)求的例子:


1.請(qǐng)求方法URI協(xié)議/版本

請(qǐng)求的第一行是“方法URL協(xié)議版本”:GET/sample.jsp HTTP/1.1如上面圖片所示,“GET”代表請(qǐng)求方法雾棺,“/sample.jsp”表示URI膊夹,“HTTP/1.1代表協(xié)議和協(xié)議的版本。
URL完整地指定了要訪問的網(wǎng)絡(luò)資源捌浩,通常只要給出相對(duì)于服務(wù)器的根目錄的相對(duì)目錄即可放刨,因此總是以“/”開頭,最后尸饺,協(xié)議版本聲明了通信過程中使用HTTP的版本进统。

2.請(qǐng)求頭(Request Header)

請(qǐng)求頭包含許多有關(guān)的客戶端環(huán)境和請(qǐng)求正文的有用信息。例如浪听,請(qǐng)求頭可以聲明瀏覽器所用的語言螟碎,請(qǐng)求正文的長(zhǎng)度等。

HTTP請(qǐng)求頭大全

3.請(qǐng)求正文

請(qǐng)求頭和請(qǐng)求正文之間是一個(gè)空行馋辈,這個(gè)行非常重要抚芦,它表示請(qǐng)求頭已經(jīng)結(jié)束,接下來的是請(qǐng)求正文迈螟。請(qǐng)求正文中可以包含客戶提交的查詢字符串信息:username=jinqiao&password=1234在以上的例子的HTTP請(qǐng)求中叉抡,請(qǐng)求的正文只有一行內(nèi)容。當(dāng)然答毫,在實(shí)際應(yīng)用中褥民,HTTP請(qǐng)求正文可以包含更多的內(nèi)容。

4.請(qǐng)求方法

HTTP請(qǐng)求方法我這里只討論GET方法與POST方法

  • GET方法

GET方法是默認(rèn)的HTTP請(qǐng)求方法洗搂,我們?nèi)粘S肎ET方法來提交表單數(shù)據(jù)消返,然而用GET方法提交的表單數(shù)據(jù)只經(jīng)過了簡(jiǎn)單的編碼载弄,同時(shí)它將作為URL的一部分向Web服務(wù)器發(fā)送,因此撵颊,如果使用GET方法來提交表單數(shù)據(jù)就存在著安全隱患上宇攻。例如Http://127.0.0.1/login.jsp?Name=zhangshi&Age=30&Submit=%cc%E+%BD%BB從上面的URL請(qǐng)求中,很容易就可以辯認(rèn)出表單提交的內(nèi)容倡勇。(逞刷?之后的內(nèi)容)另外由于GET方法提交的數(shù)據(jù)是作為URL請(qǐng)求的一部分所以提交的數(shù)據(jù)量不能太大

  • POST方法

POST方法是GET方法的一個(gè)替代方法,它主要是向Web服務(wù)器提交表單數(shù)據(jù)妻熊,尤其是大批量的數(shù)據(jù)夸浅。POST方法克服了GET方法的一些缺點(diǎn)。通過POST方法提交表單數(shù)據(jù)時(shí)扔役,數(shù)據(jù)不是作為URL請(qǐng)求的一部分而是作為標(biāo)準(zhǔn)數(shù)據(jù)傳送給Web服務(wù)器帆喇,這就克服了GET方法中的信息無法保密和數(shù)據(jù)量太小的缺點(diǎn)。因此亿胸,出于安全的考慮以及對(duì)用戶隱私的尊重坯钦,通常表單提交時(shí)采用POST方法。


HTTP響應(yīng)格式

HTTP應(yīng)答與HTTP請(qǐng)求相似损敷,HTTP響應(yīng)也由3個(gè)部分構(gòu)成葫笼,分別是:
① 狀態(tài)行
② 響應(yīng)頭(Response Header)
③ 響應(yīng)正文
下面是一個(gè)HTTP響應(yīng)的例子:

HTTP/1.1 200 OK
Server:Apache Tomcat/5.0.12
Date:Mon,6Oct2003 13:23:42 GMT
Content-Length:112

<html>
    <head>
    <title>HTTP響應(yīng)示例<title>
    </head>
    <body>
        Hello HTTP!
    </body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末深啤,一起剝皮案震驚了整個(gè)濱河市拗馒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌溯街,老刑警劉巖诱桂,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異呈昔,居然都是意外死亡挥等,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門堤尾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肝劲,“玉大人,你說我怎么就攤上這事郭宝〈腔保” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵粘室,是天一觀的道長(zhǎng)榄檬。 經(jīng)常有香客問我,道長(zhǎng)衔统,這世上最難降的妖魔是什么鹿榜? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任海雪,我火速辦了婚禮,結(jié)果婚禮上舱殿,老公的妹妹穿的比我還像新娘奥裸。我一直安慰自己,他們只是感情好沪袭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布刺彩。 她就那樣靜靜地躺著,像睡著了一般枝恋。 火紅的嫁衣襯著肌膚如雪创倔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天焚碌,我揣著相機(jī)與錄音畦攘,去河邊找鬼。 笑死十电,一個(gè)胖子當(dāng)著我的面吹牛知押,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鹃骂,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼台盯,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了畏线?” 一聲冷哼從身側(cè)響起静盅,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎寝殴,沒想到半個(gè)月后蒿叠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚣常,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年市咽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抵蚊。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡施绎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贞绳,到底是詐尸還是另有隱情谷醉,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布熔酷,位于F島的核電站孤紧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拒秘。R本人自食惡果不足惜号显,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一臭猜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧押蚤,春花似錦蔑歌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至雳刺,卻和暖如春劫灶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背掖桦。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工本昏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人枪汪。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓涌穆,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親雀久。 傳聞我的和親對(duì)象是個(gè)殘疾皇子宿稀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,356評(píng)論 6 152
  • Http協(xié)議詳解 標(biāo)簽(空格分隔): Linux 聲明:本片文章非原創(chuàng)赖捌,內(nèi)容來源于博客園作者M(jìn)IN飛翔的HTTP協(xié)...
    Sivin閱讀 5,223評(píng)論 3 82
  • 轉(zhuǎn)自: 老李的地下室:http://www.cnblogs.com/li0803/archive/2008/11/...
    yexue閱讀 591評(píng)論 0 4
  • 不覺已經(jīng)從臺(tái)灣回來半年巡蘸,CBD樓宇中繁忙的工作奋隶,讓我又開始變得有些隔離,朝九晚五的生活悦荒,似乎成了現(xiàn)在最大的寄托。偶...
    43e9e08ab83b閱讀 334評(píng)論 6 5
  • 【錢與我的愛情】 喜歡一個(gè)人嘹吨,就是忍不住給ta打錢搬味。所以現(xiàn)在我知道了,根本沒人喜歡我蟀拷。 這些年來我四處流浪碰纬,學(xué)會(huì)了...
    我腳底生風(fēng)閱讀 193評(píng)論 0 1