淺析:HTTP協(xié)議及其工作原理


易則易知蹲坷,簡(jiǎn)則易從驶乾。
易知?jiǎng)t有親,易從則有功循签。
有親則可久级乐,有功則可大。
可久則賢人之德县匠,可大則賢人之業(yè)风科。
簡(jiǎn)易,則天下之理得矣乞旦;
天下之理得贼穆,而成位乎其中矣。 --《易經(jīng)》


HTTP概述

  • 什么是HTTP協(xié)議
    • 超文本傳輸協(xié)議(HTTP)是萬(wàn)維網(wǎng)(www)應(yīng)用層的協(xié)議兰粉,是通過(guò)兩個(gè)程序?qū)崿F(xiàn):一個(gè)是客戶端程序(一般稱為瀏覽器)故痊,另一個(gè)是服務(wù)器(常稱Web服務(wù)器)。這兩個(gè)通常運(yùn)行在不同的主機(jī)上通過(guò)交換HTTP報(bào)文來(lái)完成網(wǎng)頁(yè)請(qǐng)求和響應(yīng)亲桦。并且HTTP定義了報(bào)文的結(jié)構(gòu)和客戶/服務(wù)器之間交換報(bào)文的規(guī)則崖蜜。
  • HTTP的特性
  • 支持客戶/服務(wù)器模式
  • 簡(jiǎn)單快速:客戶向服務(wù)器請(qǐng)求服務(wù)時(shí)客峭,只需傳送請(qǐng)求方法和路徑豫领。請(qǐng)求方法常用的有GET、HEAD舔琅、POST等恐。每種方法規(guī)定了客戶與服務(wù)器聯(lián)系的類(lèi)型不同。由于HTTP協(xié)議簡(jiǎn)單备蚓,使得HTTP服務(wù)器的程序規(guī)模小课蔬,因而通信速度很快。
  • 靈活:HTTP允許傳輸任意類(lèi)型的數(shù)據(jù)對(duì)象郊尝。正在傳輸?shù)念?lèi)型由Content-Type加以標(biāo)記二跋。
  • 無(wú)連接:無(wú)連接的含義是限制每次連接只處理一個(gè)請(qǐng)求。服務(wù)器處理完客戶的請(qǐng)求流昏,并收到客戶的應(yīng)答后扎即,即斷開(kāi)連接吞获。采用這種方式可以節(jié)省傳輸時(shí)間。
  • 無(wú)狀態(tài):HTTP協(xié)議是無(wú)狀態(tài)協(xié)議谚鄙。無(wú)狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒(méi)有記憶能力各拷。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳闷营,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大烤黍。另一方面,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快傻盟。

HTTP的工作流程

  • HTTP的怎樣工作的
    • 瀏覽器可以向web服務(wù)器發(fā)送請(qǐng)求并顯示收到的網(wǎng)頁(yè)速蕊,當(dāng)用戶在瀏覽器地址欄中輸入一個(gè)URL或點(diǎn)擊一個(gè)超連接時(shí),瀏覽器就向服務(wù)器發(fā)出了HTTP請(qǐng)求娘赴,該請(qǐng)求被送往由URL指定的WEB服務(wù)器互例,WEB服務(wù)器接收到請(qǐng)求后,進(jìn)行相關(guān)文檔的檢索并以HTTP規(guī)定的格式送回所要求的文件或其他相關(guān)信息筝闹,再由用戶計(jì)算機(jī)上的瀏覽器負(fù)責(zé)解釋和顯示媳叨。
易則知(http.png)
  • 一次請(qǐng)求流程
    一次HTTP操作稱為一個(gè)事務(wù),其工作過(guò)程可分為四步:

    1)首先客戶機(jī)與服務(wù)器需要建立連接关顷。只要單擊某個(gè)超級(jí)鏈接糊秆,HTTP的工作開(kāi)始。
    2)建立連接后议双,客戶機(jī)發(fā)送一個(gè)請(qǐng)求給服務(wù)器痘番,請(qǐng)求方式的格式為:統(tǒng)一資源標(biāo)識(shí)符(URL)、協(xié)議版本號(hào)平痰,后邊是MIME信息包括請(qǐng)求修飾符汞舱、客戶機(jī)信息和可能的內(nèi)容。
    3)服務(wù)器接到請(qǐng)求后宗雇,給予相應(yīng)的響應(yīng)信息昂芜,其格式為一個(gè)狀態(tài)行,包括信息的協(xié)議版本號(hào)赔蒲、一個(gè)成功或錯(cuò)誤的代碼泌神,后邊是MIME信息包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容舞虱。
    4)客戶端接收服務(wù)器所返回的信息通過(guò)瀏覽器顯示在用戶的顯示屏上欢际,然后客戶機(jī)與服務(wù)器斷開(kāi)連接。
    如果在以上過(guò)程中的某一步出現(xiàn)錯(cuò)誤矾兜,那么產(chǎn)生錯(cuò)誤的信息將返回到客戶端损趋,有顯示屏輸出。對(duì)于用戶來(lái)說(shuō)椅寺,這些過(guò)程是由HTTP自己完成的浑槽,用戶只要用鼠標(biāo)點(diǎn)擊墙杯,等待信息顯示就可以了。


HTTP請(qǐng)求方式之GET與POST

  • 常用的請(qǐng)求方式是GET和POST.
    l GET方式:是以實(shí)體的方式得到由請(qǐng)求URI所指定資源的信息括荡,如果請(qǐng)求URI只是一個(gè)數(shù)據(jù)產(chǎn)生過(guò)程,那么最終要在響應(yīng)實(shí)體中返回的是處理過(guò)程的結(jié)果所指向的資源溉旋,而不是處理過(guò)程的描述畸冲。
    l POST方式:用來(lái)向目的服務(wù)器發(fā)出請(qǐng)求,要求它接受被附在請(qǐng)求后的實(shí)體观腊,并把它當(dāng)作請(qǐng)求隊(duì)列中請(qǐng)求URI所指定資源的附加新子項(xiàng)邑闲,Post被設(shè)計(jì)成用統(tǒng)一的方法實(shí)現(xiàn)下列功能:
    1:對(duì)現(xiàn)有資源的解釋?zhuān)?br> 2:向電子公告欄、新聞組梧油、郵件列表或類(lèi)似討論組發(fā)信息苫耸;
    3:提交數(shù)據(jù)塊;
    4:通過(guò)附加操作來(lái)擴(kuò)展數(shù)據(jù)庫(kù) 儡陨。

dot fish say code in self style !

本文由易則知編寫(xiě)及整理褪子,若轉(zhuǎn)載請(qǐng)標(biāo)明作者及出處,謝謝骗村!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嫌褪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子胚股,更是在濱河造成了極大的恐慌笼痛,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,843評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件琅拌,死亡現(xiàn)場(chǎng)離奇詭異缨伊,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)进宝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)刻坊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人党晋,你說(shuō)我怎么就攤上這事紧唱。” “怎么了隶校?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,187評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵漏益,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我深胳,道長(zhǎng)绰疤,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,264評(píng)論 1 292
  • 正文 為了忘掉前任舞终,我火速辦了婚禮轻庆,結(jié)果婚禮上癣猾,老公的妹妹穿的比我還像新娘。我一直安慰自己余爆,他們只是感情好纷宇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,289評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著蛾方,像睡著了一般像捶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上桩砰,一...
    開(kāi)封第一講書(shū)人閱讀 51,231評(píng)論 1 299
  • 那天拓春,我揣著相機(jī)與錄音,去河邊找鬼亚隅。 笑死硼莽,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的煮纵。 我是一名探鬼主播懂鸵,決...
    沈念sama閱讀 40,116評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼行疏!你這毒婦竟也來(lái)了矾瑰?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,945評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤隘擎,失蹤者是張志新(化名)和其女友劉穎殴穴,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體货葬,經(jīng)...
    沈念sama閱讀 45,367評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡采幌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,581評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了震桶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片休傍。...
    茶點(diǎn)故事閱讀 39,754評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蹲姐,靈堂內(nèi)的尸體忽然破棺而出磨取,到底是詐尸還是另有隱情,我是刑警寧澤柴墩,帶...
    沈念sama閱讀 35,458評(píng)論 5 344
  • 正文 年R本政府宣布忙厌,位于F島的核電站,受9級(jí)特大地震影響江咳,放射性物質(zhì)發(fā)生泄漏逢净。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,068評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望爹土。 院中可真熱鬧甥雕,春花似錦、人聲如沸胀茵。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,692評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)琼娘。三九已至峭弟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間轨奄,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,842評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工拒炎, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挪拟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,797評(píng)論 2 369
  • 正文 我出身青樓击你,卻偏偏與公主長(zhǎng)得像玉组,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子丁侄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,654評(píng)論 2 354

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

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理惯雳,服務(wù)發(fā)現(xiàn),斷路器鸿摇,智...
    卡卡羅2017閱讀 134,652評(píng)論 18 139
  • 一石景、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,353評(píng)論 6 152
  • Http協(xié)議詳解 標(biāo)簽(空格分隔): Linux 聲明:本片文章非原創(chuàng),內(nèi)容來(lái)源于博客園作者M(jìn)IN飛翔的HTTP協(xié)...
    Sivin閱讀 5,223評(píng)論 3 82
  • HTTP概述 超文本傳輸協(xié)議(HTTP拙吉,HyperText Transfer Protocol) 是互聯(lián)網(wǎng)上應(yīng)用最...
    曹淵說(shuō)創(chuàng)業(yè)閱讀 3,849評(píng)論 2 61
  • 前言:最近發(fā)現(xiàn)自己在網(wǎng)絡(luò)相關(guān)這一塊基礎(chǔ)很是欠缺潮孽,所以準(zhǔn)備花時(shí)間了解一下,本文主要是講http協(xié)議的一些基礎(chǔ)筷黔,和一些...
    justCode_閱讀 2,094評(píng)論 0 23