http消息體

HTTP請(qǐng)求數(shù)據(jù):


HTTP請(qǐng)求信息由3部分組成:

① 請(qǐng)求方法 URI 協(xié)議/版本
② 請(qǐng)求頭(Request Header)
③ 請(qǐng)求正文

HTTP 請(qǐng)求 數(shù)據(jù) 例子舉例:
GET/sample.Jsp HTTP/1.1Accept:image/gif.image/jpeg,/Accept-Language:zh-cnConnection:Keep-AliveHost:localhostUser-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)Accept-Encoding:gzip,deflate username=jinqiao&password=1234

(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é)議的版本。
根據(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。
URL完整地指定了要訪問(wèn)的網(wǎng)絡(luò)資源,通常只要給出相對(duì)于服務(wù)器的根目錄的相對(duì)目錄即可,因此總是以“/”開(kāi)頭,最后,協(xié)議版本 聲明了通信過(guò)程中使用HTTP的版本。

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

Accept:image/gif.image/jpeg.*/*Accept-Language:zh-cnConnection:Keep-AliveHost:localhostUser-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0)Accept-Encoding:gzip,deflate.

(3)請(qǐng)求正文
請(qǐng)求頭和請(qǐng)求正文之間是一個(gè)空行,這個(gè)行非常重要,它表示請(qǐng)求頭已經(jīng)結(jié)束,接下來(lái)的是請(qǐng)求正文。請(qǐng)求正文中可以包含客戶提 交的查詢字符串信息:
username=jinqiao&password=1234
Http請(qǐng)求方法:
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)求信息,主要用語(yǔ)測(cè)試或診斷。
HTTP響應(yīng)數(shù)據(jù):

![](http://upload-images.jianshu.io/upload_images/5916963-552c9a890610db67.png!web?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Response Headers
![](http://upload-images.jianshu.io/upload_images/5916963-4e8504f32313f711.jpg!web?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 
Cache-Control:
must-revalidate, no-cache, private。這個(gè)值告訴客戶端,服務(wù)端不希望客戶端緩存資源,在下次請(qǐng)求資源時(shí),必須要從新請(qǐng)求服務(wù)器,不能從緩存副本中獲取資源。  Cache-Control是響應(yīng)頭中很重要的信息,當(dāng)客戶端請(qǐng)求頭中包含Cache-Control:max-age=0請(qǐng)求,明確表示不會(huì)緩存服務(wù)器資源時(shí),Cache-Control作為作為回應(yīng)信息,通常會(huì)返回no-cache,意思就是說(shuō),“不緩存就不緩存唄”;當(dāng)客戶端在請(qǐng)求頭中沒(méi)有包含Cache-Control時(shí),服務(wù)端往往會(huì)定,不同的資源不同的緩存策略,比如說(shuō)oschina在緩存圖片資源的策略就是Cache-Control:max-age=86400,這個(gè)意思是,從當(dāng)前時(shí)間開(kāi)始,在86400秒的時(shí)間內(nèi),客戶端可以直接從緩存副本中讀取資源,而不需要向服務(wù)器請(qǐng)求。

Connection:
keep-alive,
這個(gè)字段作為回應(yīng)客戶端的Connection:keep-alive,告訴客戶端服務(wù)器的tcp連接也是一個(gè)長(zhǎng)連接,客戶端可以繼續(xù)使用這個(gè)tcp連接發(fā)送http請(qǐng)求。關(guān)于長(zhǎng)連接的更多知識(shí),后面我再詳細(xì)講。

Content-Encoding:
gzip
告訴客戶端,服務(wù)端發(fā)送的資源是采用gzip編碼的,客戶端看到這個(gè)信息后,應(yīng)該采用gzip對(duì)資源進(jìn)行解碼。

Content-Type:
text/html;charset=UTF-8
告訴客戶端,資源文件的類型,還有字符編碼,客戶端通過(guò)utf-8對(duì)資源進(jìn)行解碼,然后對(duì)資源進(jìn)行html解析。通常我們會(huì)看到有些網(wǎng)站是亂碼的,往往就是服務(wù)器端沒(méi)有返回正確的編碼。

Date:
Sun, 21 Sep 2014 06:18:21 GMT
這個(gè)是服務(wù)端發(fā)送資源時(shí)的服務(wù)器時(shí)間,剛開(kāi)始我不知道GMT是格林尼治所在地的標(biāo)準(zhǔn)時(shí)間,以為是服務(wù)器的時(shí)間錯(cuò)了,還去服務(wù)器上查看過(guò)時(shí)間。http協(xié)議中發(fā)送的時(shí)間都是GMT的,這主要是解決在互聯(lián)網(wǎng)上,不同時(shí)區(qū)在相互請(qǐng)求資源的時(shí)候,時(shí)間混亂問(wèn)題。

Expires:
Sun, 1 Jan 2000 01:00:00 GMT
這個(gè)響應(yīng)頭也是跟緩存有關(guān)的,告訴客戶端在這個(gè)時(shí)間前,可以直接訪問(wèn)緩存副本,很顯然這個(gè)值會(huì)存在問(wèn)題,因?yàn)榭蛻舳撕头?wù)器的時(shí)間不一定會(huì)都是相同的,如果時(shí)間不同就會(huì)導(dǎo)致問(wèn)題。所以這個(gè)響應(yīng)頭是沒(méi)有Cache-Control:max-age=***這個(gè)響應(yīng)頭準(zhǔn)確的,因?yàn)閙ax-age=date中的date是個(gè)相對(duì)時(shí)間,不僅更好理解,也更準(zhǔn)確。

Pragma:no-cache
這個(gè)含義與Cache-Control等同。

Server:
Tengine/1.4.6
這個(gè)是服務(wù)器和相對(duì)應(yīng)的版本,只是告訴客戶端服務(wù)器信息,沒(méi)有更多的意思。

Transfer-Encoding:
chunked
這個(gè)響應(yīng)頭告訴客戶端,服務(wù)器發(fā)送的資源的方式是分塊發(fā)送的。一般分塊發(fā)送的資源都是服務(wù)器動(dòng)態(tài)生成的,在發(fā)送時(shí)還不知道發(fā)送資源的大小,所以采用分塊發(fā)送,每一塊都是獨(dú)立的,獨(dú)立的塊都能標(biāo)示自己的長(zhǎng)度,最后一塊是0長(zhǎng)度的,當(dāng)客戶端讀到這個(gè)0長(zhǎng)度的塊時(shí),就可以確定資源已經(jīng)傳輸完了。

Vary:
Accept-Encoding
告訴緩存服務(wù)器,緩存壓縮文件和非壓縮文件兩個(gè)版本,現(xiàn)在這個(gè)字段用處并不大,因?yàn)楝F(xiàn)在的瀏覽器都是支持壓縮的。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,622評(píng)論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,716評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 178,746評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,991評(píng)論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,706評(píng)論 6 413
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 56,036評(píng)論 1 329
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,029評(píng)論 3 450
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 43,203評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,725評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,451評(píng)論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,677評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,161評(píng)論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,857評(píng)論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 35,266評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,606評(píng)論 1 295
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,407評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,643評(píng)論 2 380

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

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,836評(píng)論 18 139
  • 本篇文章篇幅比較長(zhǎng),先來(lái)個(gè)思維導(dǎo)圖預(yù)覽一下。 一、概述 1.計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)分層 2.TCP/IP 通信傳輸流 ...
    滌生_Woo閱讀 55,160評(píng)論 24 557
  • API定義規(guī)范 本規(guī)范設(shè)計(jì)基于如下使用場(chǎng)景: 請(qǐng)求頻率不是非常高:如果產(chǎn)品的使用周期內(nèi)請(qǐng)求頻率非常高,建議使用雙通...
    有涯逐無(wú)涯閱讀 2,582評(píng)論 0 6
  • 一、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,410評(píng)論 6 152
  • 1. 網(wǎng)絡(luò)基礎(chǔ)TCP/IP HTTP基于TCP/IP協(xié)議族,HTTP屬于它內(nèi)部的一個(gè)子集。 把互聯(lián)網(wǎng)相關(guān)聯(lián)的協(xié)議集...
    yozosann閱讀 3,456評(píng)論 0 20