HTTP 報文和響應(yīng)

HTTP 通信過程包括從客戶端發(fā)往服務(wù)器端的請求以及從服務(wù)器端返回客戶端的響應(yīng)。

什么是 HTTP 報文

用于 HTTP 協(xié)議交互(客戶端和服務(wù)器端)的信息被成為 HTTP 報文执解。

請求端的 HTTP 報文叫做請求報文谣辞,響應(yīng)端報文被叫做響應(yīng)報文。

HTTP 報文本身是由多行(用 CR+LF 作為換行符)構(gòu)成的字符串文本。

HTTP 報文大致可分為報文首部和報文主體兩部分。通常皇型,并不一定要有報文主體诬烹。

image

請求報文和響應(yīng)報文的結(jié)構(gòu)

image

請求行:包含用于請求的方法,請求的路徑和 HTTP 版本弃鸦。

狀態(tài)行:包含表明響應(yīng)結(jié)果的狀態(tài)碼绞吁,原因短語和 HTTP 版本。

首部字段:包含請求和響應(yīng)的各種條件和屬性的各類首部唬格。

其他:可能包含 HTTTP 的 RFC 里未定義的首部(Cookie 等)家破。

一般有 4 中首部:

  • 通用首部
  • 請求首部
  • 響應(yīng)首部
  • 實體首部

對報文編碼

編碼可以提升傳輸速率。

報文主體和實體主體的差異

  • 報文(message)

    是 HTTP 通信中的基本單位购岗,由 8 位組字節(jié)流組成汰聋,通過 HTTP 通信傳輸。

  • 實體(entity)

    作為請求或響應(yīng)的有效載荷數(shù)據(jù)被傳輸喊积。內(nèi)容由實體首部和實體主體構(gòu)成烹困。

什么是實體?

image

通常乾吻,報文主體等于實體主體髓梅。只有在傳輸中進(jìn)行編碼操作時拟蜻,實體主體的內(nèi)容發(fā)生變化,才導(dǎo)致它和報文主體產(chǎn)生差異枯饿。

壓縮傳輸?shù)膬?nèi)容

由服務(wù)器端對響應(yīng)進(jìn)行壓縮酝锅,后由客戶端進(jìn)行解碼。

常用的內(nèi)容編碼有以下幾種:

  • gzip(GNU zip)
  • compress(UNIX 系統(tǒng)的標(biāo)準(zhǔn)壓縮)
  • deflate(zlib)
  • identity(不進(jìn)行編碼)

將大數(shù)據(jù)分塊

在 HTTP 通信過程中奢方,請求的編碼實體資源尚未完全傳輸完成之前搔扁,瀏覽器無法顯示請求頁面。在傳輸大容量數(shù)據(jù)時袱巨,通過把數(shù)據(jù)分成多塊阁谆,能夠讓瀏覽器逐步顯示頁面。

這種把實體主體分塊的功能成為分塊傳輸編碼愉老。

多部分對象集合

HTTP 協(xié)議中采納了多部分對象集合场绿,發(fā)送的一份報文主體可含有多類型實體。通常在圖片或文本文件等上傳時使用嫉入。

  • multipart/form-data

    在 Web 表單文件上傳時使用焰盗。

  • multipart/byteranges

    狀態(tài)碼 206(partial Content,部分內(nèi)容)響應(yīng)報文包含了多個范圍的內(nèi)容時使用咒林。

獲取部分內(nèi)容的范圍請求

為了實現(xiàn)因下載中斷而恢復(fù)下載的功能熬拒,需要指定下載的實體范圍。

執(zhí)行請求范圍時垫竞,會用到首部字段 Range 來指定資源的 byte 范圍澎粟。

內(nèi)容協(xié)商

當(dāng)瀏覽器的默認(rèn)語言為英語或中文,訪問相同的 URI 的 WEB 頁面時欢瞪,則會顯示對應(yīng)的英語版或中文版的 WEB 頁面活烙。這樣的機(jī)制成為內(nèi)容協(xié)商。

內(nèi)容協(xié)商技術(shù)的 3 中類型:

  • 服務(wù)器驅(qū)動協(xié)商

    由服務(wù)器進(jìn)行內(nèi)容協(xié)商

  • 客戶端驅(qū)動協(xié)商

    由客戶端進(jìn)行內(nèi)容協(xié)商

  • 透明協(xié)商

    是服務(wù)器驅(qū)動和客戶端驅(qū)動的結(jié)合體

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末遣鼓,一起剝皮案震驚了整個濱河市啸盏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌骑祟,老刑警劉巖回懦,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異次企,居然都是意外死亡怯晕,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門缸棵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贫贝,“玉大人,你說我怎么就攤上這事≈赏恚” “怎么了崇堵?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長客燕。 經(jīng)常有香客問我鸳劳,道長,這世上最難降的妖魔是什么也搓? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任赏廓,我火速辦了婚禮,結(jié)果婚禮上傍妒,老公的妹妹穿的比我還像新娘幔摸。我一直安慰自己,他們只是感情好颤练,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布既忆。 她就那樣靜靜地躺著,像睡著了一般嗦玖。 火紅的嫁衣襯著肌膚如雪患雇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天宇挫,我揣著相機(jī)與錄音苛吱,去河邊找鬼。 笑死器瘪,一個胖子當(dāng)著我的面吹牛翠储,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播橡疼,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼援所,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了衰齐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤继阻,失蹤者是張志新(化名)和其女友劉穎耻涛,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瘟檩,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡抹缕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了墨辛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卓研。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奏赘,到底是詐尸還是另有隱情寥闪,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布磨淌,位于F島的核電站疲憋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏梁只。R本人自食惡果不足惜缚柳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望搪锣。 院中可真熱鬧秋忙,春花似錦、人聲如沸构舟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旁壮。三九已至监嗜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抡谐,已是汗流浹背裁奇。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留麦撵,地道東北人刽肠。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像免胃,于是被迫代替她去往敵國和親音五。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

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