更新時(shí)間:2023-10-20 來(lái)源:黑馬程序員 瀏覽量:
WebSocket 是基于 TCP 的一種新的網(wǎng)絡(luò)協(xié)議。它實(shí)現(xiàn)了瀏覽器與服務(wù)器全雙工通信——瀏覽器和服務(wù)器只需要完成一次握手,兩者之間就可以創(chuàng)建持久性的連接,并進(jìn)行雙向數(shù)據(jù)傳輸。
HTTP協(xié)議和WebSocket協(xié)議對(duì)比:
HTTP是短連接
WebSocket是長(zhǎng)連接
HTTP通信是單向的,基于請(qǐng)求響應(yīng)模式
WebSocket支持雙向通信
HTTP和WebSocket底層都是TCP連接
WebSocket可以用于開(kāi)發(fā)視頻彈幕、網(wǎng)頁(yè)聊天、體育實(shí)況更新,股票基金報(bào)價(jià)實(shí)時(shí)更新等。
既然WebSocket支持雙向通信,功能看似比HTTP強(qiáng)大,那么我們是不是可以基于WebSocket開(kāi)發(fā)所有的業(yè)務(wù)功能?
其實(shí)WebSocket并不能完全取代HTTP,,只適合在特定的場(chǎng)景下使用:
? 服務(wù)器長(zhǎng)期維護(hù)長(zhǎng)連接需要一定的成本。
? 各個(gè)瀏覽器支持程度不一。
? WebSocket 是長(zhǎng)連接,受網(wǎng)絡(luò)限制比較大,需要處理好重連。