1. 什么是 Socket
懂从?
- 是一套網(wǎng)絡(luò)編程
API
(或者說方法、函數(shù))蹲蒲,利用它可以建立網(wǎng)絡(luò)連接 - 是一套比較底層的
API
番甩,一般來說操作系統(tǒng)已經(jīng)提供好了 - 比如我們要建立
TCP
連接,比如我們要發(fā)送UDP
數(shù)據(jù)包届搁,我們就要用到這個Socket
- 還有平時我們要發(fā)送
HTTP缘薛、FTP、SMTP
請求卡睦,他們底層就是在調(diào)用Socket
- 論證資料:維基百科
2. WebSocket 是什么宴胧?
-
WebSocket
是一套協(xié)議,像HTTP
一樣是應(yīng)用層協(xié)議
3. 為什么會出現(xiàn) WebSocket 表锻?
- 因?yàn)?HTTP 的設(shè)計之初就是經(jīng)典的
請求 - 應(yīng)答
模式恕齐,如果我們要實(shí)現(xiàn)服務(wù)器實(shí)時推送技術(shù),只能使用HTTP 的輪詢技術(shù)
-
輪詢的缺點(diǎn):
①輪詢技術(shù)比較浪費(fèi)服務(wù)器資源 ②輪詢達(dá)不到真正的實(shí)時推送
瞬逊,只能說是很短時間幾個的定時推送 - 為了更好的節(jié)省服務(wù)器資源和帶寬显歧,并且能夠?qū)崟r進(jìn)行通信,HTML5 規(guī)范中出現(xiàn)了
WebSocket 協(xié)議
image.png
4. WebSocket 的簡介(了解)
image.png
5. TCP 本身就支持全雙工通信确镊,為什么 HTTP 基于 TCP 卻不支持全雙工通信呢士骤?
- HTTP 的
請求 - 應(yīng)答
模式,限制了 TCP 的全雙工模式
6. 為什么 WebSocket 也是使用 80蕾域、443 端口拷肌?
- 目的是像 HTTP 一樣,繞過大多數(shù)防火墻對端口的限制
7. 與 HTTP 不同的是束铭,WebSocket 需要先建立連接廓块。
兩個協(xié)議都是基于 TCP,當(dāng)然要建立連接契沫,所以怎么理解這句話带猴?
- 這里的連接指的不是
傳輸層的連接
,是指應(yīng)用層的連接
image.png
8. WebSocket 建立連接的過程(了解)
image.png
image.png
9. REST API 簡介(了解)
image.png
10. HTTPDNS 簡介(知道有這么個東西即可)
image.png
11. FTP 協(xié)議的全稱是什么懈万?(知道有這么個東西即可)
image.png
image.png
image.png
image.png
12. 郵件相關(guān)的協(xié)議(了解即可)
image.png
image.png
image.png