網(wǎng)絡(luò):
7 應(yīng)用層 6 表示層 5 會(huì)話層 4 傳輸層 3 網(wǎng)絡(luò)層 2 數(shù)據(jù)鏈路層 1 物理層
網(wǎng)絡(luò)四層協(xié)議:鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層
-
tcp三次握手、四次揮手
image.png
image.png
- http/https協(xié)議 1.1
請(qǐng)求頭:方法、[空格]、URL、[空格]、HTTP版本 組成。
響應(yīng)頭:HTTP 版本、[空格]、狀態(tài)碼組成 - 常見(jiàn)header
access
Authorization,
緩存相關(guān)的:
Cache-Control
Expires
Last-Modified
If-Modified-Since
ETag
if-none-match
跨域相關(guān)的
Access-Control-Allow-Origin
Access-Control-Allow-Header
Access-Control-Allow-Methods
Access-Control-Allow-Credentials
Connection: keep-alive/close(關(guān)閉tcp)
Content-Type
Location重定向
Server
Set-Cookie
referer
cookie
user-agent
http1.1:
相比1.0協(xié)議 有持久連接:Connection: keep-alive;
管道機(jī)制,客戶端在一個(gè)tcp通道里可以發(fā)送多個(gè)請(qǐng)求,但服務(wù)器還是按照順序處理
缺點(diǎn):隊(duì)頭堵塞、首部無(wú)法壓縮頭部臃腫,
http2.0
優(yōu)點(diǎn):
1.二進(jìn)制協(xié)議,頭信息和數(shù)據(jù)體都可以是二進(jìn)制、
2.多路復(fù)用,一個(gè)域名所有請(qǐng)求使用一個(gè)tcp連接;幀(frame)和流(stream)進(jìn)行傳輸。避免隊(duì)頭阻塞;
3.頭部可以壓縮
4.server Push
其他:http2可以關(guān)閉一次請(qǐng)求,但不關(guān)閉tcp鏈接
擴(kuò)展:AbortController構(gòu)造函數(shù),關(guān)閉一個(gè)請(qǐng)求 fetch(url, {signal: abortController.signal})
https



