Http
WebSocket 連接與重複 GET
我正在使用 nodejs 對應用程序進行原型設計。但這個問題是指假設的大規模推出。對伺服器和/或頻寬要求更高的是:WebSocket 保持連接還是重複的客戶端 HTTP GET 請求?
例如(可能是一個極端的例子),Twitter 允許其客戶端每 20 秒向其 API 發送 GET 請求,還是讓每個客戶端連接到 HTTP1.1 websocket 是否更有效?每 1 分鐘或更長或更短的時間呢?
順便說一句,也許沒關係,但假設 GET 請求將由 nginx 處理為應該的節點,這會有所不同嗎?
WebSockets 更好,因為您保持連接打開並且在每次請求和響應之後不發送額外的協議頭和其他內容。看這篇文章:
在與 WebSocket 建立連接期間,客戶端和伺服器每幀交換數據,每幀 2 個字節,而在進行連續輪詢時,http 標頭為 8 千字節。
websockets 是一個更好的選擇,但它還不是在所有瀏覽器中。如果你走那條路,你會想在客戶端和 node.js 端使用SocketIO。如果瀏覽器還不支持 websockets,這將提供到 flash sockets 的故障轉移。
由於發送回伺服器的數據沒有獲取請求那麼大,因此您可以使用 websockets。