HTTP:HyperText Transfer Protocol 超文本傳輸協(xié)議
HTTPS:HTTP基于SSL及其繼任者TLS的安全協(xié)議
SMTP:Simple Mail Transfer Protocol
SSL:Secure Socket Layer
TLS:Transport Layer Security
TCP:Transmission Control Protocol
UDP:User Datagram Protocol
IP:Internet Protocol
TCP
是一種面向連接的、可靠的私蕾、基于字節(jié)流的傳輸層通信協(xié)議四瘫。當(dāng)應(yīng)用層向TCP層發(fā)送用于網(wǎng)間傳輸?shù)挠?位字節(jié)表示的數(shù)據(jù)流時(shí)蛹找,TCP把數(shù)據(jù)流分割成適當(dāng)長度的報(bào)文段,之后TCP層把數(shù)據(jù)傳給IP層筷狼,由它通過網(wǎng)絡(luò)將包傳送給接受實(shí)體的TCP層议忽。
特性:
有序性:分割的包有序號
正確性:有checksum函數(shù)檢驗(yàn)數(shù)據(jù)
可靠性:超時(shí)重傳引润、發(fā)送錯(cuò)誤時(shí)重發(fā)
可控性:采用滑動(dòng)窗口協(xié)議和擁塞控制算法使傳輸速度達(dá)到合理值
UDP
是一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單的不可靠信息傳送服務(wù)宗弯。UDP信息包標(biāo)題只有8個(gè)字節(jié)脯燃,相對于TCP的20個(gè)字節(jié)信息包,開銷小蒙保,所以更快速辕棚、適合輕量級
特性:
隨發(fā)隨收無需連接、非可靠性邓厕、無擁塞控制算法控制收發(fā)速率逝嚎、報(bào)文既不拆分也不合并
TCP/IP 網(wǎng)絡(luò)分層:
應(yīng)用層(網(wǎng)絡(luò)應(yīng)用開發(fā)重點(diǎn)):Application Layer, 為用戶的進(jìn)程直接提供服務(wù)详恼,負(fù)責(zé)
發(fā)送补君、接收什么數(shù)據(jù)
如何解釋數(shù)據(jù)
如何呈現(xiàn)數(shù)據(jù)
如何加密數(shù)據(jù)
傳輸層(了解其原理):Transport Layer,為兩個(gè)主機(jī)的不同端口之間的通信提供服務(wù)
port 是一種在同一主機(jī)內(nèi)的不同通道之間進(jìn)行尋址的方式
TCP提供可靠的有序傳輸
UDP提供非可靠的傳輸
網(wǎng)絡(luò)層(了解其概念):Network Layer 昧互,為兩個(gè)主機(jī)之間提供通信服務(wù)
定義了數(shù)據(jù)如何被封裝為傳送包
定義了不同主機(jī)之間的尋址方式
主要由IP組成挽铁,輔以ICMP伟桅、IGMP等路由協(xié)議
接口層(處理物理細(xì)節(jié),軟件開發(fā)無需了解):Link Layer叽掘,負(fù)責(zé)相鄰物理設(shè)備之間的信息傳輸
概念:
IP地址:網(wǎng)絡(luò)層概念楣铁,是互聯(lián)網(wǎng)上的主機(jī)在網(wǎng)絡(luò)上具有的邏輯地址,分為IPv4(如127.0.0.0)更扁、IPv6
域名:Domain Name盖腕,應(yīng)用層概念,便于人們記憶的服務(wù)器地址
URI:Uniform Resource Identifier 統(tǒng)一資源標(biāo)識符
URL:Uniform Resource Locator 統(tǒng)一資源定位符浓镜,是URI的子集
URN:Universal Resource Name 通用資源名稱
URL的標(biāo)準(zhǔn)形式: [協(xié)議]://[主機(jī)]:[端口]/[路徑]?[參數(shù)]
C/S架構(gòu):Client/Server
B/S架構(gòu):Browser/Server 使用web瀏覽器作為客戶端的應(yīng)用軟件
B /S特點(diǎn):
便于部署溃列、維護(hù)和升級
跨平臺、開放竖哩,對客戶端要求低
對安全性要求高
HTTP流程:C端建立TCP連接哭廉、發(fā)送HTTP請求、S端返回HTTP結(jié)果相叁、C端關(guān)閉TCP連接
HTTP消息結(jié)構(gòu):request遵绰、response,分別有消息頭和消息體
常用頭字段和常用錯(cuò)誤代碼
1XX:等待信息
2XX:處理成功
3XX:重定向
4XX:客戶端請求錯(cuò)誤
5XX:服務(wù)端處理錯(cuò)誤
三次握手四次揮手
三握:客戶端與服務(wù)器建立連接時(shí)
Client ——> 發(fā)送SYN包增淹,進(jìn)入SYN_SENT狀態(tài) ——> Server
Client <—— 發(fā)送SYN+ACK包椿访,進(jìn)入SYN_RECV狀態(tài) <—— Server
Client ——> 發(fā)送ACK包,雙方進(jìn)入Established狀態(tài) ——> Server
SYN:synchronous
ACK:acknowledgement
類比記憶:
現(xiàn)有C和S同學(xué)虑润,C同學(xué)想與S同學(xué)做好朋友成玫,先借了S同學(xué)一本SYN的書
S同學(xué)看完之后,還給C同學(xué)這本SYN的書拳喻,并同時(shí)借給C同學(xué)一本ACK的書
C同學(xué)看完后哭当,也還給了S這本ACK的書,這時(shí)兩人建立了友誼冗澈,相互存在連接關(guān)系
四揮:
Client ——> 發(fā)送一個(gè)FIN報(bào)文 ——> Server
Client <—— 發(fā)送ACK序號钦勘,同時(shí)通知自己相應(yīng)的應(yīng)用程序做清理工作 <—— Server
Client <—— 清理工作做完后,發(fā)送FIN報(bào)文 <—— Server
Client ——> 發(fā)送ACK序號亚亲,表示徹底釋放 ——> Server
FIN:finished
類比記憶:
現(xiàn)有房東C與租客S彻采,C發(fā)了一條FIN短信,說要交房租了
S工資推遲發(fā)了捌归,先打個(gè)ACK欠條給C肛响,說晚點(diǎn)給,并催公司財(cái)務(wù)快點(diǎn)發(fā)工資
工資發(fā)下來了惜索,S回復(fù)FIN短信
C表示知曉特笋,欠條返還給S,表示兩清