《圖解HTTP》學(xué)習(xí)記錄一(HTTP概述,網(wǎng)絡(luò)傳輸模型)

HTTP概述

HTTP(Hypertext Transferr Protocal)中文譯名為超文本協(xié)議,它是互聯(lián)網(wǎng)中最廣泛使用的數(shù)據(jù)資源傳輸協(xié)議。從1989年誕生至今有四個(gè)版本:

  • HTTP/0.9:這個(gè)名字是后來(lái)取的,人們把HTTP/1.0之前的版本統(tǒng)稱為HTTP/0.9,HTTP/0.9時(shí)代并沒有作為正式標(biāo)準(zhǔn)被建立。
  • HTTP/1.0:該版本作為標(biāo)準(zhǔn)正式公布于1996年5月,至今仍廣泛用于服務(wù)器端。
  • HTTP/1.1:1997年1月公布,是至今為止最主流的HTTP協(xié)議版本。
  • HTTP/2.0:新世紀(jì)長(zhǎng)達(dá)十多年HTTP一直駐足發(fā)展,終于于2013年迎來(lái)了HTTP/2.0的問(wèn)世,其主要是為了解決通信安全性問(wèn)題而進(jìn)行的版本迭代,目前多用于https:// 中,要達(dá)到廣泛的覆蓋率,還需假以時(shí)日。

OSI七層協(xié)議模型

OSI七層協(xié)議模型是網(wǎng)絡(luò)協(xié)議的理論模型,是ISO制定的一個(gè)用于計(jì)算機(jī)或通信系統(tǒng)間互聯(lián)的標(biāo)準(zhǔn)體系。顯然,用一個(gè)統(tǒng)一的協(xié)議來(lái)統(tǒng)籌龐大的互聯(lián)網(wǎng)通信是不現(xiàn)實(shí)的,如果僅僅只想改變某一部分功能,整個(gè)協(xié)議都需要發(fā)生改變,這樣的代價(jià)似乎有點(diǎn)大。所以人們通過(guò)分層的思想來(lái)規(guī)定網(wǎng)絡(luò)通信協(xié)議,OSI協(xié)議共分為7層:

1.物理層:包含了多種與物理介質(zhì)相關(guān)的協(xié)議,這些物理介質(zhì)用以支撐TCP/IP通信。其主要功能為:利用傳輸介質(zhì)為數(shù)據(jù)鏈路層提供物理連接,實(shí)現(xiàn)比特流的透明傳輸,其傳輸單位為bit。規(guī)定了集線器、中繼器、調(diào)制解調(diào)器、網(wǎng)線、雙絞線、同軸電纜等物理設(shè)備。同時(shí)還有制定了如下協(xié)議:

  • 電子/光學(xué)協(xié)議:描述了信號(hào)的各種特性。例如:電壓、光強(qiáng)度、位定時(shí)、編碼、信號(hào)波形等;
  • 機(jī)械協(xié)議:指定了連接器的尺寸或者導(dǎo)線的金屬成分;
  • 功能性協(xié)議:描述了做什么。例如:在EIA-232-D連接器第4管腳上的功能描述是“信號(hào)發(fā)送”;
  • 程序性協(xié)議:描述了如何做。例如:在EIA-232-D導(dǎo)線上,二進(jìn)制1表示電壓小于-3V;

2.鏈路層:通過(guò)各種控制協(xié)議,將有差錯(cuò)的物理信道變?yōu)闊o(wú)差錯(cuò)的、能可靠傳輸數(shù)據(jù)幀的數(shù)據(jù)鏈路。它主要解決兩個(gè)相鄰節(jié)點(diǎn)之間的通信問(wèn)題,其傳輸單位為數(shù)據(jù)幀。

3.網(wǎng)絡(luò)層:其主要任務(wù)是:通過(guò)路由選擇算法,為報(bào)文或分組通過(guò)通信子網(wǎng)選擇最適當(dāng)?shù)穆窂?。該層控制?shù)據(jù)鏈路層與傳輸層之間的信息轉(zhuǎn)發(fā),建立、維持和終止網(wǎng)絡(luò)的連接。具體地說(shuō),數(shù)據(jù)鏈路層的數(shù)據(jù)在這一層被轉(zhuǎn)換為數(shù)據(jù)包,然后通過(guò)路徑選擇、分段組合、順序、進(jìn)/出路由等控制,將信息從一個(gè)網(wǎng)絡(luò)設(shè)備傳送到另一個(gè)網(wǎng)絡(luò)設(shè)備。

4.傳輸層:OSI協(xié)議上三層用于數(shù)據(jù)處理,下三層用于數(shù)據(jù)交換,所以傳輸層在其中起到承上啟下的作用。該層的主要任務(wù)是:向用戶提供可靠的端到端的差錯(cuò)和流量控制,保證報(bào)文的正確傳輸,著名的TCP協(xié)議就在此層。

5.會(huì)話層:會(huì)話層是用戶應(yīng)用程序和網(wǎng)絡(luò)之間的接口,主要任務(wù)是:向兩個(gè)實(shí)體的表示層提供建立和使用連接的方法。將不同實(shí)體之間的表示層的連接稱為會(huì)話。因此會(huì)話層的任務(wù)就是組織和協(xié)調(diào)兩個(gè)會(huì)話進(jìn)程之間的通信,并對(duì)數(shù)據(jù)交換進(jìn)行管理。

6.表示層:表示層對(duì)來(lái)自應(yīng)用層的命令和數(shù)據(jù)進(jìn)行解釋,對(duì)各種語(yǔ)法賦予相應(yīng)的含義,并按照一定的格式傳送給會(huì)話層。其主要功能是“處理用戶信息的表示問(wèn)題,如編碼、數(shù)據(jù)格式轉(zhuǎn)換和加密解密”等。

7.應(yīng)用層:應(yīng)用層是計(jì)算機(jī)用戶,以及各種應(yīng)用程序和網(wǎng)絡(luò)之間的接口,其功能是直接向用戶提供服務(wù),完成用戶希望在網(wǎng)絡(luò)上完成的各種工作。它在其他6層工作的基礎(chǔ)上,負(fù)責(zé)完成網(wǎng)絡(luò)中應(yīng)用程序與網(wǎng)絡(luò)操作系統(tǒng)之間的聯(lián)系,建立與結(jié)束使用者之間的聯(lián)系,并完成網(wǎng)絡(luò)用戶提出的各種網(wǎng)絡(luò)服務(wù)及應(yīng)用所需的監(jiān)督、管理和服務(wù)等各種協(xié)議。此外,該層還負(fù)責(zé)協(xié)調(diào)各個(gè)應(yīng)用程序間的工作。

TCP/IP協(xié)議族

OSI協(xié)議模型就像字典一樣,面面俱到但也免不了臃腫,作為理解網(wǎng)絡(luò)協(xié)議的教材尚可,但真正應(yīng)用與實(shí)際中的還是TCP/IP協(xié)議的四層模型。實(shí)際上,TCP/IP協(xié)議簇是對(duì)OSI七層模型的整合:

OSI模型與TCP/IP模型的對(duì)應(yīng)關(guān)系
  • 應(yīng)用層:OSI模型前三層的整合,主要作用是進(jìn)行數(shù)據(jù)處理,常用的協(xié)議包括DNS,HTTP,F(xiàn)TP等。
  • 傳輸層:對(duì)上層應(yīng)用層提供處于網(wǎng)絡(luò)連接中的兩臺(tái)計(jì)算機(jī)之間的數(shù)據(jù)傳輸。其中有兩個(gè)不同的協(xié)議:TCP協(xié)議和UDP協(xié)議。
  • 網(wǎng)絡(luò)層:網(wǎng)絡(luò)層用來(lái)處理網(wǎng)絡(luò)上流動(dòng)的數(shù)據(jù)包(網(wǎng)絡(luò)傳輸?shù)淖钚挝唬搶油ㄟ^(guò)一定的算法來(lái)選擇數(shù)據(jù)交換時(shí)的最優(yōu)線路。
  • 鏈路層:用來(lái)處理網(wǎng)絡(luò)傳輸設(shè)計(jì)到的一切硬件問(wèn)題。

網(wǎng)絡(luò)傳輸分為兩方:客戶端與服務(wù)器。發(fā)出請(qǐng)求的稱為客戶端,做出響應(yīng)的稱之為服務(wù)器。利用TCP/IP協(xié)議族進(jìn)行網(wǎng)絡(luò)通信時(shí),會(huì)通過(guò)分層的順序與對(duì)方進(jìn)行交互,發(fā)送端從上往下走,接受端由下往上爬:


實(shí)際上,每過(guò)一層會(huì)添加或刪除屬于改層的首部,我們把這種數(shù)據(jù)包裝的方法叫做封裝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容