http工作原理相關(guān)

1. OSI 七層模型

OSI(Open System Interconnection卜壕,開放系統(tǒng)互連)七層網(wǎng)絡(luò)模型稱為開放式系統(tǒng)互聯(lián)參考模型 反砌,是一個邏輯上的定義古瓤,一個規(guī)范,它把網(wǎng)絡(luò)從邏輯上分為了7層揭鳞。每一層都有相關(guān)、相對應(yīng)的物理設(shè)備梆奈,比如路由器汹桦,交換機(jī)。OSI 七層模型是一種框架性的設(shè)計方法 鉴裹,建立七層模型的主要目的是為解決異種網(wǎng)絡(luò)互連時所遇到的兼容性問題舞骆,其最主要的功能使就是幫助不同類型的主機(jī)實現(xiàn)數(shù)據(jù)傳輸钥弯。OSI采用了分層的結(jié)構(gòu)化技術(shù),共分七層督禽,物理層脆霎、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層狈惫、傳輸層睛蛛、會話層、表示層胧谈、應(yīng)用層忆肾。


OSI七層結(jié)構(gòu)
  • 1、 物理層:提供為建立菱肖、維護(hù)和拆除物理鏈路所需要的機(jī)械的客冈、電氣的、功能的和規(guī)程的特性稳强;有關(guān)的物理鏈路上傳輸非結(jié)構(gòu)的位流以及故障檢測指示场仲。
  • 2、數(shù)據(jù)鏈路層:在網(wǎng)絡(luò)層實體間提供數(shù)據(jù)發(fā)送和接收的功能和過程退疫;提供數(shù)據(jù)鏈路的流控渠缕。
  • 3、網(wǎng)絡(luò)層:控制分組傳送系統(tǒng)的操作褒繁、路由選擇亦鳞、擁護(hù)控制、網(wǎng)絡(luò)互連等功能棒坏,它的作用是將具體的物理傳送對高層透明蚜迅。
  • 4、傳輸層:提供建立俊抵、維護(hù)和拆除傳送連接的功能谁不;選擇網(wǎng)絡(luò)層提供最合適的服務(wù);在系統(tǒng)之間提供可靠的透明的數(shù)據(jù)傳送徽诲,提供端到端的錯誤恢復(fù)和流量控制刹帕。
  • 5、會話層:提供兩進(jìn)程之間建立谎替、維護(hù)和結(jié)束會話連接的功能偷溺;提供交互會話的管理功能,如三種數(shù)據(jù)流方向的控制钱贯,即一路交互挫掏、兩路交替和兩路同時會話模式 。
  • 6秩命、表示層:代表應(yīng)用進(jìn)程協(xié)商數(shù)據(jù)表示尉共;完成數(shù)據(jù)轉(zhuǎn)換褒傅、格式化和文本壓縮。
  • 7袄友、應(yīng)用層:提供OSI用戶服務(wù)殿托,例如事務(wù)處理程序、文件傳送協(xié)議和網(wǎng)絡(luò)管理等剧蚣。

2. HTTP 的工作原理

HTTP(HyperText Transfer Protocol超文本傳輸協(xié)議)是一套計算機(jī)通過網(wǎng)絡(luò)進(jìn)行通信的規(guī)則支竹。HTTP的工作流程可分為四步:

  • 客戶端與服務(wù)器建立連接。當(dāng)我們在瀏覽器輸入網(wǎng)址或者當(dāng)我們點擊鏈接時鸠按,HTTP開始工作礼搁。
  • 建立連接后,客戶機(jī)發(fā)送一個請求給服務(wù)器目尖,如當(dāng)我們在瀏覽器地址欄輸入www.baidu.com馒吴,瀏覽器將我們的請求封裝成HTTP報文,請求報文的格式為:統(tǒng)一資源標(biāo)識符(URL)卑雁、協(xié)議版本號募书,后邊是MIME信息包括請求修飾符绪囱、客戶機(jī)信息和可能的內(nèi)容测蹲。打開瀏覽器控制臺Network,可看到瀏覽器發(fā)送的請求鬼吵。
    1.jpg
  • 服務(wù)器接到請求后扣甲,給予相應(yīng)的響應(yīng)信息,其格式為一個狀態(tài)行齿椅,包括信息的協(xié)議版本號琉挖、一個成功或錯誤的代碼,后邊是MIME信息包括服務(wù)器信息涣脚、實體信息和可能的內(nèi)容示辈。
  • 客戶端接收服務(wù)器所返回的信息通過瀏覽器顯示在用戶的顯示屏上,然后客戶機(jī)與服務(wù)器斷開連接遣蚀。

3. URI 和常見的協(xié)議

URI和URL

URL(統(tǒng)一資源定位符)是URI(統(tǒng)一資源標(biāo)識符)的一個子集矾麻。
URI由兩個主要的子集構(gòu)成

  1. URL:通過描述資源的位置來描述資源
  2. URN:通過名字來識別資源,和位置無關(guān)
    如下幾種URI:


    2.jpg

    絕對URI的格式:

《圖解HTTP》.jpg

常見的協(xié)議以及對應(yīng)端口號
(1)FTP 文件傳輸協(xié)議芭梯,使用21端口险耀。
(2)HTTP:超文本傳輸協(xié)議。默認(rèn)80端口玖喘。
(3)HTTPs:具有安全性的ssl加密傳輸協(xié)議甩牺,端口號443.
(4)Telnet:它是一種用于遠(yuǎn)程登陸的端口,用戶可以以自己的身份遠(yuǎn)程連接到計算機(jī)上累奈,通過這種端口可以提供一種基于DOS模式下的通信服務(wù)贬派。如以前的BBS是純字符界面的急但,支持BBS的服務(wù)器將23端口打開,對外提供服務(wù)赠群。
(5)SMTP: 簡單郵件傳送協(xié)議羊始,25端口。
(6)POP3:它是和SMTP對應(yīng)查描,POP3用于接收郵件突委。110端口。

4. HTTP 協(xié)議和服務(wù)器交互的方法

HTTP最大的作用就是客戶端發(fā)送請求冬三,服務(wù)器給出響應(yīng)匀油,客戶端想服務(wù)器發(fā)送請求的方式有很多。

  • GET
    GET是最常用的方法勾笆,通常用于請求服務(wù)器發(fā)送某個資源敌蚜。我們平時在瀏覽器輸入網(wǎng)頁地址,就是給服務(wù)器發(fā)送了一個get請求窝爪,希望得到這個網(wǎng)頁弛车。
  • POST
    POST用于想服務(wù)器發(fā)送數(shù)據(jù),通常用來支持HTML的表單(input蒲每、select纷跛、textarea),表單中的數(shù)據(jù)會被發(fā)送到服務(wù)器邀杏。
  • HEAD
    HEAD方法和GET類似贫奠,但是在服務(wù)器的響應(yīng)中沒有資源的內(nèi)容,只有資源的一些基本信息望蜡,主要用于:
  1. 在不獲取資源的情況下獲取資源信息(類型唤崭、大小等)。
  2. 通過狀態(tài)碼產(chǎn)看資源是否存在脖律。
  3. 通過查看首部谢肾,測試資源是否被修改了。
  • PUT
    和GET從服務(wù)器獲取資源相反小泉,PUT用于想服務(wù)器寫入資源芦疏。PUT的語義就是讓服務(wù)器用請求的主體部分創(chuàng)建一個請求URL命名的文檔,如果存在就替換

  • TRACE
    客戶端發(fā)送一個請求的時候膏孟,這個請求可能會穿過防火墻眯分、代理、網(wǎng)關(guān)和一些其它應(yīng)用程序柒桑,沒個中間節(jié)點都可能修改HTTP請求弊决,TRACE方法允許客戶端在最終請求發(fā)往服務(wù)器的時候,看看它變成了什么樣子。
    TRACE請求會在目的服務(wù)器端發(fā)送一個“閉環(huán)”診斷飘诗,行程最后一站服務(wù)器會彈回一條TRACE響應(yīng)与倡,并在響應(yīng)主題中攜帶它收到的原始請求報文。

  • DELETE
    DELETE方法用于要求服務(wù)器刪除請求的URL昆稿,和PUT一樣纺座,服務(wù)器可能會不支持。

  • OPTIONS
    OPTIONS方法用于請求 web服務(wù)器告知其支持的各種功能溉潭。

5. 狀態(tài)碼

HTTP狀態(tài)碼净响,反映了Web服務(wù)器處理HTTP請求狀態(tài)。HTTP應(yīng)答碼由3位數(shù)字構(gòu)成喳瓣,其中首位數(shù)字定義了應(yīng)答碼的類型:
   
1XX-信息類(Information),表示收到Web瀏覽器請求馋贤,正在進(jìn)一步的處理中
2XX-成功類(Successful),表示用戶請求被正確接收,理解和處理例如:200 OK成功
3XX-重定向類(Redirection),表示請求沒有成功畏陕,客戶必須采取進(jìn)一步的動作配乓。如

  • 301:Moved Permanently,客戶請求的文檔在其他地方惠毁,新的URL在Location頭中給出犹芹,瀏覽器應(yīng)該自動地訪問新的URL。
  • 304: Not Modified 客戶端有緩沖的文檔并發(fā)出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)鞠绰。服務(wù)器告 訴客戶腰埂,原來緩沖的文檔還可以繼續(xù)使用。

4XX-客戶端錯誤(Client Error)洞豁,表示客戶端提交的請求有錯誤 例如:404 NOT Found盐固,意味著請求中所引用的文檔不存在荒给。
5XX-服務(wù)器錯誤(Server Error)表示服務(wù)器不能完成對請求的處理:如 500 對于我們Web開發(fā)人員來說掌握HTTP應(yīng)答碼有丈挟。503 Service Unavailable 服務(wù)器由于維護(hù)或者負(fù)載過重未能應(yīng)答。

HTTP報文詳解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末志电,一起剝皮案震驚了整個濱河市曙咽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挑辆,老刑警劉巖例朱,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鱼蝉,居然都是意外死亡洒嗤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門魁亦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來渔隶,“玉大人,你說我怎么就攤上這事〖浒Γ” “怎么了绞灼?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長呈野。 經(jīng)常有香客問我低矮,道長,這世上最難降的妖魔是什么被冒? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任军掂,我火速辦了婚禮,結(jié)果婚禮上昨悼,老公的妹妹穿的比我還像新娘良姆。我一直安慰自己,他們只是感情好幔戏,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布玛追。 她就那樣靜靜地躺著,像睡著了一般闲延。 火紅的嫁衣襯著肌膚如雪痊剖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天垒玲,我揣著相機(jī)與錄音陆馁,去河邊找鬼。 笑死合愈,一個胖子當(dāng)著我的面吹牛叮贩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播佛析,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼益老,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了寸莫?” 一聲冷哼從身側(cè)響起捺萌,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎膘茎,沒想到半個月后桃纯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡披坏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年态坦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棒拂。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡伞梯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情壮锻,我是刑警寧澤琐旁,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站猜绣,受9級特大地震影響灰殴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜掰邢,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一牺陶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辣之,春花似錦掰伸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至多搀,卻和暖如春歧蕉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背康铭。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工惯退, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人从藤。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓催跪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親夷野。 傳聞我的和親對象是個殘疾皇子懊蒸,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

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