眾所周知,WebSocket是雙向的,它能夠在客戶端—服務器通信的場景中使用雙全工協(xié)議,與HTTP不同,它以ws://或wss://開頭。它是一個有狀態(tài)協(xié)議,這意味著客戶端和服務器之間的連接將保持活動狀態(tài),直到被任何一方(客戶端或服務器)終止。在通過客戶端和服務器中的任何一方關閉連接之后,連接將從兩端終止。
新建的連接被稱為WebSocket。一旦通信鏈接建立和連接打開后,消息交換將以雙向模式進行,客戶端-服務器之間的連接會持續(xù)存在。如果其中任何一方(客戶端服務器)宕掉或主動關閉連接,則雙方均將關閉連接。套接字的工作方式與HTTP的工作方式略有不同,狀態(tài)代碼101表示W(wǎng)ebSocket中的交換協(xié)議。
延伸知識:
1、瀏覽器、服務器建立TCP連接,三次握手。這是通信的基礎,傳輸控制層,若失敗后續(xù)都不執(zhí)行。
2、TCP連接成功后,瀏覽器通過HTTP協(xié)議向服務器傳送WebSocket支持的版本號等信息。(開始前的HTTP握手)
3、服務器收到客戶端的握手請求后,同樣采用HTTP協(xié)議回饋數(shù)據(jù)。
4、當收到了連接成功的消息后,通過TCP通道進行傳輸通信。
以上就是什么是websocket?的內(nèi)容。