HTTP知識框架(簡略版)

讓我們設(shè)想這么一個場景摘投,某天盟庞,我想向某家攝影雜志要一張精美的照片。雜志社提供信件索取服務(wù)败明,我可以寫信過去面哼,附上現(xiàn)金野宜,就可以拿到某張沖洗出來的照片。我決定用寫信的方式精绎。于是我寫了一下的信件寄給這家攝影雜志社速缨。

尊敬的XX攝影雜志社主編:
        你好。我是一位攝影愛好者代乃。我在你們2016年11月份的雜志上第20頁看到了一張很精美的照片旬牲,
希望得到這張照片沖洗出來的實物仿粹。以下附上現(xiàn)金。

致謝原茅!
                                                                              某某
                                                                      2016年11月15日

然后雜志社收到我的信后吭历,給我回信,并且附上我要的照片擂橘。

尊敬的某某先生:
        你好晌区。我是XX攝影雜志社主編。這是你要的照片通贞。感謝你對我們的支持朗若!

致謝!
                                                                  XX雜志社主編
                                                                 2016年11月17日
Desert.jpg

我們上網(wǎng)瀏覽網(wǎng)頁的過程和上面寄信昌罩、回信的過程很類似哭懈。

首先,網(wǎng)站的各種信息資源(比如html代碼文件茎用、圖片遣总、音頻、視頻等)都存放在了一臺大型的電腦上轨功,可以認(rèn)為這臺電腦就是服務(wù)器旭斥。

然后我們用戶通過瀏覽器去訪問服務(wù)器上的資源,比如請求獲取一個html代碼文件古涧、加載圖片垂券、下載視音頻等≥锕樱可以認(rèn)為我們用戶的電腦就是客戶端圆米。

當(dāng)我們在瀏覽器頂部的地址欄輸入一個網(wǎng)址,按下鍵盤上的回車鍵以后啄栓,瀏覽器就會生成一個叫做request(請求)的東西娄帖,通過網(wǎng)絡(luò)傳送給我們訪問的資源所在的服務(wù)器。這個request包含著我們訪問資源需要的信息昙楚,比如請求方法近速、URL,編碼格式堪旧、有時候還需要用戶名削葱、密碼之類的。

服務(wù)器收到我們發(fā)送的request以后淳梦,也生成一個 叫response(響應(yīng))的玩意析砸,通過網(wǎng)絡(luò)傳送回到我們用戶的電腦上。這個response包含著一些狀態(tài)信息爆袍,大多數(shù)情況下還會附帶我們訪問的資源首繁、比如文件作郭、圖片、視音頻弦疮。

Paste_Image.png

request就是上面寄信夹攒、回信例子中我寄給攝影雜志社的請求信,說明了我要做的事(要一張照片)胁塞,包含我要的資源的位置信息咏尝,還附帶了沖洗費(fèi)用。response就是雜志社發(fā)回來的回信啸罢,說明我的請求通過了编检,并附帶了我要的資源(沖洗出來的照片)。

那么這一切有何HTTP有什么關(guān)系伺糠?

還是那寄信蒙谓、回信為例。我們?nèi)祟愔g通過信件互相交流時训桶,信件是要遵守一些約定成俗的格式的——開頭是收信人的姓名(或者頭銜)、第一句話打個招呼酣倾、正文開始說你想說的事情舵揭、臨近結(jié)尾最好加點祝語、最后署名并且寫明日期——這個是人類寫信時遵守的格式躁锡。

可以認(rèn)為午绳,HTTP就是客戶端寫request和服務(wù)器寫response時遵守的格式。

HTTP全稱HyperText Transfer Protocol(超文本傳輸協(xié)議)映之,是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議拦焚。所有的WWW文件都必須遵守這個標(biāo)準(zhǔn),設(shè)計HTTP最初的目的是為了提供一種發(fā)布和接收HTML頁面的方法杠输。

當(dāng)對HTTP的本質(zhì)有了初步了解后赎败,可以從下面幾個部分去了解HTTP。

首先可以粗略看一下TCP/IP協(xié)議族的全貌輪廓蠢甲,這是互聯(lián)網(wǎng)相關(guān)的各類協(xié)議的總稱(協(xié)議就是大家都遵循的一套格式僵刮、規(guī)則)○信#互聯(lián)網(wǎng)分為應(yīng)用層搞糕、傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路蹭曼追。HTTP協(xié)議是在應(yīng)用層應(yīng)作用的協(xié)議(FTP窍仰、DNS也屬于這一層)。

接著可以了解一下客戶端告知服務(wù)器意圖的HTTP方法礼殊。HTTP方法就是指客戶端希望服務(wù)器做那些事情驹吮。按照人類的信件有邀請鲫忍、索取(某物)钥屈、發(fā)送(某物)悟民、指令等類型的信件(文件?)篷就。HTTP方法可認(rèn)為是指定了request的類型射亏,你是希望從服務(wù)器訪問資源呢(GET方法)、還是希望想服務(wù)器傳遞一些信息呢(PUT方法)竭业、亦或是要求服務(wù)器刪除一些文件呢(DELETE方法)智润,還是其他呢?

此外還可以了解一下response的狀態(tài)碼未辆。當(dāng)客戶端發(fā)給服務(wù)器一個請求后窟绷,服務(wù)器那里處理成功了嗎?如果沒有成功咐柜,會是什么原因造成的兼蜈?這些都可以通過response帶有的狀態(tài)碼窺知一二。常見的狀態(tài)碼有200(處理成功)拙友、404(服務(wù)器找不到資源)为狸、403(服務(wù)器禁止該客戶端訪問)等。

然后可以了解一下request和response的報文結(jié)構(gòu)遗契。HTTP報文就是指HTTP協(xié)議交互的信息辐棒。報文結(jié)構(gòu)大致可以分為報文首部(headers)和報文主體。報文首部一般是一些屬性信息牍蜂、比如HTTP方法漾根、URL、編碼格式鲫竞、語言辐怕、IP地址之類的,報文主體則是客戶端向服務(wù)器傳遞的數(shù)據(jù)贡茅、或者服務(wù)器向客戶端發(fā)送的資源秘蛇。

報文頭部、亦即headers顶考,是HTTP協(xié)議的重點之一赁还。報文頭部可以分為通用首部、請求首部(request獨有)驹沿、響應(yīng)首部(response獨有)艘策、實體首部、其他首部等渊季。重要的header有Date朋蔫、Request-URL罚渐、User-Agent、Referer驯妄、Host荷并、Transfer-Encoding、Cookie等青扔。學(xué)習(xí)這些header可以通過百度一個一個去搜索源织,這個不急,慢慢來微猖。

各種學(xué)習(xí)資源:
1谈息、《圖解HTTP》,上野宣(入門級)
2凛剥、《HTTP權(quán)威指南》侠仇, David Gourley/ Brian Totty (縱向進(jìn)階篇)
3、《TCP/IP協(xié)議詳解(卷一)》犁珠,Lawrence Berkeley(橫向進(jìn)階篇)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逻炊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子盲憎,更是在濱河造成了極大的恐慌嗅骄,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饼疙,死亡現(xiàn)場離奇詭異,居然都是意外死亡慕爬,警方通過查閱死者的電腦和手機(jī)窑眯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來医窿,“玉大人磅甩,你說我怎么就攤上這事±崖” “怎么了卷要?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長独榴。 經(jīng)常有香客問我僧叉,道長,這世上最難降的妖魔是什么棺榔? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任瓶堕,我火速辦了婚禮,結(jié)果婚禮上症歇,老公的妹妹穿的比我還像新娘郎笆。我一直安慰自己谭梗,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布宛蚓。 她就那樣靜靜地躺著激捏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凄吏。 梳的紋絲不亂的頭發(fā)上远舅,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機(jī)與錄音竞思,去河邊找鬼表谊。 笑死,一個胖子當(dāng)著我的面吹牛盖喷,可吹牛的內(nèi)容都是我干的爆办。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼课梳,長吁一口氣:“原來是場噩夢啊……” “哼距辆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起暮刃,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤跨算,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后椭懊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诸蚕,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年氧猬,在試婚紗的時候發(fā)現(xiàn)自己被綠了背犯。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡盅抚,死狀恐怖漠魏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情妄均,我是刑警寧澤柱锹,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站丰包,受9級特大地震影響禁熏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜烫沙,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一匹层、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦升筏、人聲如沸撑柔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铅忿。三九已至,卻和暖如春灵汪,著一層夾襖步出監(jiān)牢的瞬間檀训,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工享言, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留峻凫,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓览露,卻偏偏與公主長得像荧琼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子差牛,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348

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