HTTP筆記

通信傳輸流

Screen Shot 2017-08-01 at 4.33.21 PM.png

HTTP報(bào)文

  • HTTP報(bào)文:用于HTTP協(xié)議交互的信息疆栏。請(qǐng)求端的HTTP報(bào)文叫做請(qǐng)求報(bào)文,相應(yīng)端的叫做響應(yīng)報(bào)文。大致分為報(bào)文首部和報(bào)文主體兩塊蝌焚,兩者由空行(CR+LF)劃分啥纸,通常并不一定有報(bào)文主體号杏。
Screen Shot 2017-08-01 at 9.53.45 AM.png

Screen Shot 2017-08-01 at 9.56.04 AM.png
  • 請(qǐng)求行:包含用于請(qǐng)求的方法,請(qǐng)求URI和HTTP版本斯棒。
  • 狀態(tài)行:包含表明響應(yīng)結(jié)果的狀態(tài)碼盾致,原因短語(yǔ)和HTTP版本。
  • 首部字段:包含表示請(qǐng)求和響應(yīng)的各種條件和屬性的各類(lèi)首部荣暮。


    Screen Shot 2017-08-01 at 10.01.50 AM.png

報(bào)文主體和實(shí)體主體的差異

Screen Shot 2017-08-01 at 10.15.02 AM.png

HTTP狀態(tài)返回碼

Screen Shot 2017-08-01 at 1.49.51 PM.png

HTTP首部字段

Screen Shot 2017-08-01 at 4.07.50 PM.png
Screen Shot 2017-08-01 at 4.07.56 PM.png
首部字段類(lèi)型

首部字段根據(jù)實(shí)際用途分為以下4類(lèi)庭惜。
1.通用首部字段:請(qǐng)求報(bào)文和響應(yīng)報(bào)文都會(huì)使用的首部。
2.請(qǐng)求首部字段:從客戶端向服務(wù)器發(fā)送請(qǐng)求報(bào)文時(shí)使用的首部穗酥。補(bǔ)充了請(qǐng)求的附加內(nèi)容护赊,客戶端信息,響應(yīng)內(nèi)容相關(guān)優(yōu)先級(jí)信息砾跃。
3.響應(yīng)首部字段:從服務(wù)端向客服端返回響應(yīng)報(bào)文時(shí)使用的首部骏啰。補(bǔ)充了響應(yīng)的附加信息,也會(huì)要求客戶端附加額外的內(nèi)容信息抽高。
4.實(shí)體首部字段:針對(duì)請(qǐng)求報(bào)文和響應(yīng)報(bào)文的實(shí)體部分使用的首部判耕。補(bǔ)充了資源內(nèi)容更新時(shí)間等與實(shí)體有關(guān)的信息。

首部字段結(jié)構(gòu)

HTTP首部字段是由首部字段名和字段值組成厨内,中間由冒號(hào)“:”分割祈秕。

首部字段名:字段值
Content-Type: text/html
Keep-Alive: timeout =15, max  = 100
HTTP首部字段一覽
  • 通用首部字段


    Screen Shot 2017-08-01 at 4.15.08 PM.png
  • 請(qǐng)求首部字段

Screen Shot 2017-08-01 at 4.16.28 PM.png
  • 響應(yīng)首部字段
Screen Shot 2017-08-01 at 4.16.54 PM.png
  • 實(shí)體首部字段
Screen Shot 2017-08-01 at 4.17.28 PM.png
通用首部字段
1.Cache-control:控制緩存的行為

緩存請(qǐng)求指令

![Screen Shot 2017-08-01 at 4.42.47 PM.png](http://upload-images.jianshu.io/upload_images/1485048-59b5b6d97c710f66.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

緩存響應(yīng)指令

Screen Shot 2017-08-01 at 4.42.47 PM.png
2.Conection:控制不再轉(zhuǎn)發(fā)給代理的首部字段渺贤,管理持久連接。
  • 控制不再轉(zhuǎn)發(fā)給代理的首部字段
Connection:不再轉(zhuǎn)發(fā)的首部字段名
  • 管理持久連接
Connection: close  # HTTP/1.1以后都是持久連接
Conntection: Keep-Alive # HTTP/1.1之前的都是非持續(xù)連接
3.Prama:為了兼容HTTP /1.1之前版本的歷史遺留問(wèn)題

該字段请毛,只用在客戶端發(fā)送的請(qǐng)求中志鞍,客戶要求所有的中間服務(wù)器不返回緩存的資源。

Cache-Control: no-cache  #一般會(huì)有2個(gè)首部字段
Prama: no-cache
4.Upgrade:用于檢測(cè)HTTP協(xié)議及其他協(xié)議是否可使用更高的版本通信方仿,其參數(shù)值可以用來(lái)指定一個(gè)完全不同的通信協(xié)議固棚。
Screen Shot 2017-08-02 at 12.09.28 AM.png

Upgrade首部字段產(chǎn)生作用的Upgrade對(duì)象僅限于客戶端和鄰接服務(wù)器之間。因此使用首部字段Upgrate時(shí)還需要額外指定Connection:Upgrate仙蚜。
對(duì)于附有首部字段Upgrate的請(qǐng)求此洲,服務(wù)器可用101SwitchingProtocal狀態(tài)碼作為響應(yīng)返回。

5.Waring:通知用戶一些與緩存的相關(guān)的問(wèn)題的警告委粉。
Screen Shot 2017-08-02 at 12.22.39 AM.png
Screen Shot 2017-08-02 at 12.23.07 AM.png
Screen Shot 2017-08-02 at 12.23.32 AM.png
請(qǐng)求首部字段
1.Accept:通知服務(wù)器呜师,用戶能夠處理的媒體類(lèi)型及媒體類(lèi)型的相對(duì)優(yōu)先級(jí)。使用type/subtype形式贾节。
Screen Shot 2017-08-02 at 1.16.31 PM.png

若要設(shè)置優(yōu)先級(jí)汁汗,用q=來(lái)額外表示權(quán)重值, q范圍為0~1栗涂,";"隔開(kāi)

Accept:text/html ;q = 0.5, text/plain
2.Host:若虛擬主機(jī)運(yùn)行在同一個(gè)IP知牌,因此會(huì)使用Host加以區(qū)分。首部字段Host會(huì)告知服務(wù)器斤程,請(qǐng)求的資源所處的互聯(lián)網(wǎng)主機(jī)名和端口號(hào)角寸。
3.Range:告知服務(wù)器資源的指定范圍
Range: bytes =5001 -10000

接受到附帶Range首部字段請(qǐng)求的服務(wù)器,會(huì)在處理請(qǐng)求之后返回狀態(tài)206Partial Content的響應(yīng)忿墅。無(wú)法處理該范圍請(qǐng)求時(shí)扁藕,則返回狀態(tài)碼200OK的響應(yīng)全部資源。

響應(yīng)首部字段
1.ETag:能告訴客戶端實(shí)體標(biāo)識(shí)疚脐。是一種可將資源以字符串形式做唯一標(biāo)識(shí)的方式纹磺。服務(wù)器會(huì)為每份資源分配對(duì)應(yīng)的Tag值。
2.Location:可以將響應(yīng)接受方引導(dǎo)至某個(gè)與請(qǐng)求URL位置不同的資源亮曹。該字段基本配合3xx:Redirection響應(yīng)橄杨,提供重定向的URL。
3.Vary:當(dāng)代理服務(wù)器收到帶有Vary首部字段指定獲取資源的請(qǐng)求時(shí)照卦,如果使用的Accept-Language字段的值相同式矫,那么久直接從緩存返回響應(yīng)。反正役耕,需要從 源服務(wù)器端獲取資源后才能作為響應(yīng)返回 采转。
Vary:Accept-Language
4.Age
Screen Shot 2017-08-03 at 8.42.19 AM.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子故慈,更是在濱河造成了極大的恐慌板熊,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件察绷,死亡現(xiàn)場(chǎng)離奇詭異干签,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)拆撼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)容劳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人闸度,你說(shuō)我怎么就攤上這事竭贩。” “怎么了莺禁?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵支救,是天一觀的道長(zhǎng)读串。 經(jīng)常有香客問(wèn)我从橘,道長(zhǎng)嘱么,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任柒傻,我火速辦了婚禮,結(jié)果婚禮上较木,老公的妹妹穿的比我還像新娘红符。我一直安慰自己,他們只是感情好伐债,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布预侯。 她就那樣靜靜地躺著,像睡著了一般峰锁。 火紅的嫁衣襯著肌膚如雪萎馅。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,549評(píng)論 1 312
  • 那天虹蒋,我揣著相機(jī)與錄音糜芳,去河邊找鬼。 笑死魄衅,一個(gè)胖子當(dāng)著我的面吹牛峭竣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晃虫,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼皆撩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了哲银?” 一聲冷哼從身側(cè)響起扛吞,我...
    開(kāi)封第一講書(shū)人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤呻惕,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后滥比,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體亚脆,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年守呜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了型酥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡查乒,死狀恐怖弥喉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情玛迄,我是刑警寧澤由境,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站蓖议,受9級(jí)特大地震影響虏杰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜勒虾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一纺阔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧修然,春花似錦笛钝、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至中贝,卻和暖如春囤捻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背邻寿。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工蝎土, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绣否。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓瘟则,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親枝秤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子醋拧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361

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

  • 本篇文章篇幅比較長(zhǎng),先來(lái)個(gè)思維導(dǎo)圖預(yù)覽一下。 一丹壕、概述 1.計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)分層 2.TCP/IP 通信傳輸流 ...
    滌生_Woo閱讀 55,052評(píng)論 24 557
  • 本文是《圖解HTTP》讀書(shū)筆記的第二篇庆械,主要包括此書(shū)的第六章內(nèi)容,因?yàn)榈诹碌膬?nèi)容較多菌赖,而且比較重要缭乘,所以單獨(dú)寫(xiě)為...
    lijiankun24閱讀 1,368評(píng)論 0 6
  • 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,445評(píng)論 0 20
  • 第一章 了解Web及網(wǎng)絡(luò)基礎(chǔ) 第二章 簡(jiǎn)單的HTTP協(xié)議 2.1 HTTP協(xié)議用于客戶端和服務(wù)器端之間的通信 客戶...
    jacktown閱讀 315評(píng)論 0 1
  • HTTP首部 HTTP報(bào)文首部結(jié)構(gòu) 復(fù)習(xí)一下前邊的知識(shí):HTTP報(bào)文大致可分為報(bào)文首部和報(bào)文主體兩塊堕绩,通常并不一定...
    RobotStar閱讀 929評(píng)論 0 1