HTTP請求響應(yīng)報文解析

一、請求

HTTP請求示例:

請求行(request line)

POST /search HTTP/1.1

(以下都是請求頭部(header))Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint,

application/msword, application/x-silverlight, application/x-shockwave-flash, */*? Referer:http://www.google.cn/">http://www.google.cn/Accept-Language: zh-cn

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; TheWorld)

Host:http://www.google.cn">www.google.cnConnection: Keep-Alive? Cookie: PREF=ID=80a06da87be9ae3c:U=f7167333e2c3b714:NW=1:TM=1261551909:LM=1261551917:S=ybYcq2wpfefs4V9g;

NID=31=ojj8d-IygaEtSxLgaJmqSjVhCspkviJrB6omjamNrSm8lZhKy_yMfO2M4QMRKcH1g0iQv9u-2hfBW7bUFwVh7pGaRUb0RnHcJU37y-

FxlRugatx63JLv7CWMD6UB_O_r(空行(blank line))hl=zh-CN&source=hp&q=domety(請求數(shù)據(jù)(request-body))

一個HTTP請求報文由請求行(request line)、請求頭部(header)、空行(blank line)和請求數(shù)據(jù)(request-body)4個部分組成赚哗。

1.請求行壹若。

請求行由 請求方法字段、URL字段和HTTP協(xié)議版本字段扭勉,3個字段組成鹊奖,它們用空格分隔。例如涂炎,GET /index.html HTTP/1.1忠聚。

1).?HTTP協(xié)議的請求方法字段有GET、POST唱捣、HEAD两蟀、PUT、DELETE震缭、OPTIONS赂毯、TRACE、CONNECT。

常見有:

Get:GET方法要求服務(wù)器將URL定位的資源放在響應(yīng)報文的數(shù)據(jù)部分党涕,回送給客戶端活烙。使用GET方法時,請求參數(shù)和對應(yīng)的值附加在URL后面遣鼓,利用一個問號(“?”)代表URL的結(jié)尾與請求參數(shù)的開始啸盏,傳遞參數(shù)長度受限制。

Post:POST方法將請求參數(shù)封裝在HTTP請求數(shù)據(jù)中骑祟,以名稱/值的形式出現(xiàn)回懦,可以傳輸大量數(shù)據(jù),這樣POST方式對傳送的數(shù)據(jù)大小沒有限制次企,而且也不會顯示在URL中怯晕。

HEAD:HEAD就像GET,只不過服務(wù)端接受到HEAD請求后只返回響應(yīng)頭缸棵,而不會發(fā)送響應(yīng)內(nèi)容舟茶。當(dāng)我們只需要查看某個頁面的狀態(tài)的時候,使用HEAD是非常高效的堵第,因為在傳輸?shù)倪^程中省去了頁面內(nèi)容吧凉。

2.請求頭

請求頭部由關(guān)鍵字/值對組成,每行一對踏志,關(guān)鍵字和值用英文冒號“:”分隔阀捅。請求頭部通知服務(wù)器有關(guān)于客戶端請求的信息,典型的請求頭有:

User-Agent:產(chǎn)生請求的瀏覽器類型针余。

Accept:客戶端可識別的內(nèi)容類型列表饲鄙。

Host:請求的主機(jī)名,允許多個域名同處一個IP地址圆雁,即虛擬主機(jī)忍级。

3.空行

最后一個請求頭之后是一個空行,發(fā)送回車符和換行符伪朽,通知服務(wù)器以下不再有請求頭轴咱。

4.請求數(shù)據(jù)

請求數(shù)據(jù)不在GET方法中使用,而是在POST方法中使用驱负。POST方法適用于需要客戶填寫表單的場合嗦玖。與請求數(shù)據(jù)相關(guān)的最常使用的請求頭是Content-Type和Content-Length。

二跃脊、響應(yīng)

HTTP響應(yīng)示例:

HTTP/1.1 200 OK(狀態(tài)行)Date: Sat, 31 Dec 2005 23:59:59 GMT(以下消息報頭)Content-Type: text/html;charset=ISO-8859-1Content-Length: 122<html>(響應(yīng)正文)<head><title>W(wǎng)rox Homepage</title></head><body><!-- body goes here --></body></html>

HTTP響應(yīng)也由三個部分組成宇挫,分別是:狀態(tài)行、消息報頭酪术、響應(yīng)正文器瘪。

正如你所見翠储,在響應(yīng)中唯一真正的區(qū)別在于第一行中用狀態(tài)信息代替了請求信息。狀態(tài)行(status line)通過提供一個狀態(tài)碼來說明所請求的資源情況橡疼。

狀態(tài)行格式如下:

HTTP-Version Status-Code Reason-Phrase CRLF

其中援所,HTTP-Version表示服務(wù)器HTTP協(xié)議的版本;Status-Code表示服務(wù)器發(fā)回的響應(yīng)狀態(tài)代碼欣除;Reason-Phrase表示狀態(tài)代碼的文本描述住拭。狀態(tài)代碼由三位數(shù)字組成,第一個數(shù)字定義了響應(yīng)的類別历帚,且有五種可能取值滔岳。

1xx:指示信息--表示請求已接收,繼續(xù)處理挽牢。

2xx:成功--表示請求已被成功接收谱煤、理解、接受禽拔。

3xx:重定向--要完成請求必須進(jìn)行更進(jìn)一步的操作刘离。

4xx:客戶端錯誤--請求有語法錯誤或請求無法實現(xiàn)。

5xx:服務(wù)器端錯誤--服務(wù)器未能實現(xiàn)合法的請求睹栖。

常見狀態(tài)代碼硫惕、狀態(tài)描述的說明如下。

200 OK:客戶端請求成功磨淌。

400 Bad Request:客戶端請求有語法錯誤疲憋,不能被服務(wù)器所理解凿渊。

401 Unauthorized:請求未經(jīng)授權(quán)梁只,這個狀態(tài)代碼必須和WWW-Authenticate報頭域一起使用。

403 Forbidden:服務(wù)器收到請求埃脏,但是拒絕提供服務(wù)搪锣。

404 Not Found:請求資源不存在,舉個例子:輸入了錯誤的URL彩掐。

500 Internal Server Error:服務(wù)器發(fā)生不可預(yù)期的錯誤构舟。

503 Server Unavailable:服務(wù)器當(dāng)前不能處理客戶端的請求,一段時間后可能恢復(fù)正常堵幽,舉個例子:HTTP/1.1 200 OK(CRLF)狗超。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市朴下,隨后出現(xiàn)的幾起案子努咐,更是在濱河造成了極大的恐慌,老刑警劉巖殴胧,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件渗稍,死亡現(xiàn)場離奇詭異佩迟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)竿屹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門报强,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拱燃,你說我怎么就攤上這事秉溉。” “怎么了碗誉?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵坚嗜,是天一觀的道長。 經(jīng)常有香客問我诗充,道長苍蔬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任蝴蜓,我火速辦了婚禮碟绑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘茎匠。我一直安慰自己格仲,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布诵冒。 她就那樣靜靜地躺著凯肋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪汽馋。 梳的紋絲不亂的頭發(fā)上侮东,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機(jī)與錄音豹芯,去河邊找鬼悄雅。 笑死,一個胖子當(dāng)著我的面吹牛铁蹈,可吹牛的內(nèi)容都是我干的宽闲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼握牧,長吁一口氣:“原來是場噩夢啊……” “哼容诬!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起沿腰,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤览徒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后矫俺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吱殉,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡掸冤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了友雳。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片稿湿。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖押赊,靈堂內(nèi)的尸體忽然破棺而出饺藤,到底是詐尸還是另有隱情,我是刑警寧澤流礁,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布涕俗,位于F島的核電站,受9級特大地震影響神帅,放射性物質(zhì)發(fā)生泄漏再姑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一找御、第九天 我趴在偏房一處隱蔽的房頂上張望元镀。 院中可真熱鬧,春花似錦霎桅、人聲如沸栖疑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽遇革。三九已至,卻和暖如春揭糕,著一層夾襖步出監(jiān)牢的瞬間萝快,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工插佛, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留杠巡,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓雇寇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蚌铜。 傳聞我的和親對象是個殘疾皇子锨侯,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)冬殃,斷路器囚痴,智...
    卡卡羅2017閱讀 134,693評論 18 139
  • 一、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,372評論 6 152
  • Http協(xié)議詳解 標(biāo)簽(空格分隔): Linux 聲明:本片文章非原創(chuàng)审葬,內(nèi)容來源于博客園作者M(jìn)IN飛翔的HTTP協(xié)...
    Sivin閱讀 5,226評論 3 82
  • /*--------------------------- 01 HTTP請求 -----------------...
    藍(lán)心兒的藍(lán)色之旅閱讀 2,166評論 0 4
  • 帶著漁夫帽深滚,下著及膝短褲奕谭,左手拿著爸爸的魚竿,右手提著自己的小筒子痴荐,在春意融融的下午和爸爸去釣魚血柳。 小男孩兒...
    醬油小丸子閱讀 292評論 0 0