HTTP & WebSocket有什么區(qū)別?【專欄17】

1 什么是WebSocket?
WebSocket從滿足基于Web的日益增長的實(shí)時通信需求應(yīng)運(yùn)而生,解決了客戶端發(fā)起多個Http請求到服務(wù)器資源瀏覽器必須要在經(jīng)過長時間的輪詢問題,實(shí)現(xiàn)里多路復(fù)用,是全雙工、雙向、單套接字連接,在WebSocket協(xié)議下服務(wù)器和客戶端可以同時發(fā)送信息。
2 WebSocket和Http的異同點(diǎn)
同:
建立在TCP之上,通過TCP協(xié)議來傳輸數(shù)據(jù)。
都是可靠性傳輸協(xié)議。
都是應(yīng)用層協(xié)議。
異:
WebSocket是HTML5中的協(xié)議,支持持久連接,HTTP不支持持久連接
HTTP是單向協(xié)議,只能由客戶端發(fā)起,做不到服務(wù)器主動向客戶端推送信息。
3 WebSocket和Socket
Socket本身并不是一個協(xié)議,它工作在OSI模型會話層,是一個套接字,TCP/IP網(wǎng)絡(luò)的API,是為了方便大家直接使用更底層協(xié)議而存在的一個抽象層。Socket其實(shí)就是一個門面模式,它把復(fù)雜的TCP/IP協(xié)議族隱藏在Socket接口后面,對用戶來說,一組簡單的接口就是全部,讓Socket去組織數(shù)據(jù),以符合指定的協(xié)議。
而WebSocket則是一個典型的應(yīng)用層協(xié)議。
4 WebSocket HTTP和TCP/IP
WebSocket和HTTP一樣,都是建立在TCP之上,通過TCP來傳輸數(shù)據(jù)。
http和websocket并不能說是完全平等完全分開的兩樣?xùn)|西,websocket準(zhǔn)確地來說應(yīng)該算是http的下屬一個分類。
參考資料
https://zhihu.com/question/29615964 https://cnblogs.com/mengbin0546/p/12508848.html
說明
本專欄總共匯總了150道題,每道題目答案沒有多余扯皮的部分,就是單純的答案。
關(guān)注公眾號,每天一到面試題,為下次跳槽準(zhǔn)備,點(diǎn)擊↓關(guān)注【鬼哥】
當(dāng)前進(jìn)度【#017題】,如果你能點(diǎn)贊分享、鬼哥騎自行車也是開心的
