首頁>Club>
34
回覆列表
  • 1 # LOL唐頭大

    優點:

    1、傳統的http請求,其併發能力都是依賴同時發起多個TCP連線訪問伺服器實現的(因此併發數受限於瀏覽器允許的併發連線數),而websocket則允許我們在一條ws連線上同時併發多個請求,即在A請求發出後A響應還未到達,就可以繼續發出B請求。由於TCP的慢啟動特性(新連線速度上來是需要時間的),以及連線本身的握手損耗,都使得websocket協議的這一特性有很大的效率提升。

    2、http協議的頭部太大,且每個請求攜帶的幾百上千位元組的頭部大部分是重複的,很多時候可能響應都遠沒有請求中的header空間大。如此多無效的內容傳遞是因為無法利用上一條請求內容,websocket則因為複用長連線而沒有這一問題。

    3、當需要實現客戶端重新整理訊息時,傳統方案往往透過定時ajax請求實現,實際上對多數使用者多數時間下這些請求都是無意義了,除了浪費資源。

    其次則是websocket支援伺服器推送訊息,這帶來了及時訊息通知的更好體驗,也是ajax請求無法達到的。

    缺點:

    它對開發者要求高了許多。對前端開發者,往往要具備資料驅動使用javascript的能力,且需要維持住ws連線(否則訊息無法推送);對後端開發者而言,難度增大了很多,一是長連線需要後端處理業務的程式碼更穩定(不要隨便把程序和框架都crash掉),二是推送訊息相對複雜一些,三是成熟的http生態下有大量的元件可以複用,websocket則太新了一點。

  • 中秋節和大豐收的關聯?
  • 51微控制器控制LCD1602,LCD1602只有背光燈亮,不顯示資料?