為什麼需要WebSocket?

2021-08-15 04:29:05 字數 707 閱讀 1270

因為http協議有乙個缺陷:通訊只能由客戶端發起。

這種單向請求的特點,注定了如果伺服器有連續的狀態變化,客戶端要獲知就非常麻煩。我們只能使用"輪詢":每隔一段時候,就發出乙個詢問,了解伺服器有沒有新的資訊。最典型的場景就是聊天室。

輪詢的效率低,非常浪費資源(因為必須不停連線,或者http連線始終開啟)。因此,工程師們一直在思考,有沒有更好的方法。websocket就是這樣發明的

websocket協議在2023年誕生,2023年成為國際標準。所有瀏覽器都已經支援了。

它的最大特點就是,伺服器可以主動向客戶端推送資訊,客戶端也可以主動向伺服器傳送資訊,是真正的雙向平等對話,屬於伺服器推送技術的一種。

其他特點包括:

(1)建立在tcp協議之上,伺服器端的實現比較容易。

(2)與http協議有著良好的相容性。預設埠也是80和443,並且握手階段採用http協議,因此握手時不容易遮蔽,能通過各種http**伺服器。

(3)資料格式比較輕量,效能開銷小,通訊高效。

(4)可以傳送文字,也可以傳送二進位制資料。

(5)沒有同源限制,客戶端可以與任意伺服器通訊。

(6)協議識別符號是ws(如果加密,則為wss),伺服器**就是url。

網路之間互連的協議

, 中文縮寫為「網協」,

為什麼需要PKI

為什麼需要pki 隨著電子商務的迅速發展,資訊保安已成為焦點問題之一,尤其是網上支付和網路銀行對資訊保安的要求顯得更為突出。為了能在網際網路上開展安全的電子商務活動,公開金鑰基礎設施 pki,public key infrastructure 逐步在國內外得到廣泛應用。我們是否真的需要pki,pki...

為什麼需要prototype

1.new object var newobj new object newobj.name keti newobj.color red newobj.changecolor function color 這種方法看上去很蠢,所以我們找到另一種方法 使用literal直接建立,看上去要優雅得多 2....

為什麼需要bootloader

受微控制器和arm7等小型cpu裝置程式設計思維的影響,開始對嵌入式linux和pc中存在bootloader bios的意義有了疑問 bootloader到底有沒有必要存在呢?答案是 大部分情況下是有必要的。首先,bootloader的作用是在硬體商店後執行的第一段軟體 也叫引導引導程式,是在作業...