前端百題斬之網(wǎng)絡(luò)七層模型及HTTP進(jìn)化史
1. 網(wǎng)絡(luò)體系結(jié)構(gòu)
網(wǎng)絡(luò)體系結(jié)構(gòu)有多種劃分標(biāo)準(zhǔn):OSI體系結(jié)構(gòu)、TCP/IP的體系結(jié)構(gòu)、五層協(xié)議的體系結(jié)構(gòu),其中OSI體系結(jié)構(gòu)是劃分的最細(xì)的一種體系結(jié)構(gòu),另外的TCP/IP體系結(jié)構(gòu)和五層協(xié)議的體系結(jié)構(gòu)都是將OSI體系結(jié)構(gòu)的某些層做了一些聚合獲取得到的。上述三種結(jié)構(gòu)的劃分如下所示:
TCP/IP體系結(jié)構(gòu)和五層協(xié)議的體系結(jié)構(gòu)都是在OSI體系結(jié)構(gòu)的基礎(chǔ)上進(jìn)行某些層級(jí)的聚合得到,那么下面我們重點(diǎn)看一下OSI體系結(jié)構(gòu)中各層的功能。
物理層
物理層是第一層,其主要功能時(shí)利用傳輸介質(zhì)為數(shù)據(jù)鏈路層提供物理連接,實(shí)現(xiàn)比特流的透明傳輸,這樣幀中的一個(gè)個(gè)比特就能從從一個(gè)節(jié)點(diǎn)移動(dòng)到下一個(gè)節(jié)點(diǎn)。(機(jī)械、電子、定時(shí)接口通信信道上的原始比特流傳輸)
數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層主要負(fù)責(zé)建立和管理節(jié)點(diǎn)間的鏈路,該層任務(wù)是將整個(gè)幀從一個(gè)網(wǎng)絡(luò)元素移動(dòng)到鄰近的網(wǎng)絡(luò)元素。(物理尋址,并將原始比特流轉(zhuǎn)變?yōu)檫壿媯鬏斁€路)
網(wǎng)絡(luò)層
網(wǎng)絡(luò)層負(fù)責(zé)將稱為數(shù)據(jù)報(bào)的網(wǎng)絡(luò)層分組從一臺(tái)主機(jī)移動(dòng)到另一臺(tái)主機(jī),該層包括著名的網(wǎng)際協(xié)議IP,該協(xié)議定義了在數(shù)據(jù)報(bào)中的各個(gè)字段以及端系統(tǒng)和路由器如何作用于這些字段。(控制子網(wǎng)的運(yùn)行,如邏輯編址、分組傳輸、路由選擇)
傳輸層
傳輸層主要任務(wù)是負(fù)責(zé)向兩臺(tái)主機(jī)進(jìn)程之間的通信提供通用的數(shù)據(jù)傳輸服務(wù),主要使用TCP和UDP兩種協(xié)議。(接收會(huì)話層的數(shù)據(jù),在必要時(shí)吧數(shù)據(jù)進(jìn)行分割,并將這些數(shù)據(jù)交給網(wǎng)絡(luò)層,且保證這些數(shù)據(jù)段有效到達(dá)對(duì)端)
會(huì)話層
會(huì)話層是用戶應(yīng)用程序和網(wǎng)絡(luò)之間的接口,主要任務(wù)是向兩個(gè)實(shí)體的表示層提供建立和使用連接的方法。(不同機(jī)器上的用戶之間建立及管理會(huì)話)
表示層
表示層對(duì)來自應(yīng)用層的命令和數(shù)據(jù)進(jìn)行解釋,對(duì)各種袯賦予相應(yīng)的含義,并按照一定的格式傳動(dòng)給會(huì)話層,其主要功能是處理用戶信息的表示問題,如編碼、數(shù)據(jù)格式轉(zhuǎn)換和加密解密等。(信息的語法語義以及它們的關(guān)聯(lián),如加密解密、轉(zhuǎn)換翻譯、壓縮解壓縮)
應(yīng)用層
應(yīng)用層是各種應(yīng)用程序和網(wǎng)絡(luò)之間的接口,其功能是直接向用戶提供服務(wù),完成用戶希望在網(wǎng)絡(luò)上完成的各種工作,常見協(xié)議有HTTP、HTTPS、FTP、SSH等。(各種應(yīng)用程序協(xié)議,如HTTP、FTP、SMTP、POP3)
注:可查看科來公司出版的網(wǎng)絡(luò)協(xié)議圖(http://www.colasoft.com.cn/download/network-protocol-map-2020.pdf)
2.HTTP0.9——HTTP3.0進(jìn)化史
HTTP協(xié)議不斷發(fā)展,大體可分為五個(gè)版本,分別是HTTP/0.9、HTTP/1.0、HTTP/1.1、HTTP/2.0、HTTP3.0,下面一起來看看這些版本。
2.1 HTTP/0.9
2.2 HTTP/1.0
2.3 HTTP/1.1
2.4 HTTP/2.0
2.5 HTTP/3.0
本文轉(zhuǎn)載自微信公眾號(hào)「執(zhí)鳶者」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系執(zhí)鳶者公眾號(hào)。