websocket是什麼原理?為什麼可以實現持久連線

2021-03-28 20:08:17 字數 748 閱讀 6431

1樓:匿名使用者

可以把 websocket 看成是 http 協議為了支援長連線所打的一個大補丁,它和 http 有一些共性,是為了解決 http

本身無法解決的某些問題而做出的一個改良設計。在以前 http 協議中所謂的 keep-alive connection 是指在一次 tcp

連線中完成多個 http 請求,但是對每個請求仍然要單獨發 header;所謂的 polling

是指從客戶端(一般就是瀏覽器)不斷主動的向伺服器發 http

請求查詢是否有新資料。這兩種模式有一個共同的缺點,就是除了真正的資料部分外,伺服器和客戶端還要大量交換 http

header,資訊交換效率很低。它們建立的「長連線」都是偽.長連線,只不過好處是不需要對現有的 http server

和瀏覽器架構做修改就能實現。

websocket 解決的第一個問題是,通過第一個 http request 建立了 tcp 連線之後,之後的交換資料都不需要再發

http request了,使得這個長連線變成了一個真.長連線。但是不需要傳送 http header就能交換資料顯然和原有的 http

協議是有區別的,所以它需要對伺服器和客戶端都進行升級才能實現。在此基礎上 websocket 還是一個雙通道的連線,在同一個 tcp

連線上既可以發也可以收資訊。此外還有 multiplexing 功能,幾個不同的 uri 可以複用同一個 websocket

連線。這些都是原來的 http 不能做到的。

勒夏特列原理,勒夏特列原理是什麼?

這樣想應該沒錯 在一個密閉容器中,二氧化氮和四氧化氮反應平衡,這時先假設容器不密閉,加入二氧化氮後體積增加壓強不變,這時單獨加進去的二氧化氮形成的平衡與最開始的平衡是等效的,因此若壓強不變,整個反應的平衡是不會移動的,二氧化氮的濃度也不會變。但題目給定的容器是密閉的,就相當於加進二氧化氮以上述方式達...

藍芽傳輸的原理是什麼,藍芽是什麼原理

藍芽使用跳頻技術,將傳輸的資料分割成資料包,通過79個指定的藍芽頻道分別傳輸資料包。每個頻道的頻寬為1 mhz。藍芽4.0使用2 mhz 間距,可容納40個頻道。第一個頻道始於2402 mhz,每1 mhz一個頻道,至2480 mhz。有了適配跳頻 adaptive frequency hoppin...

空調的原理是什麼,空調工作原理是什麼

空調者空氣的調節,在家用空調中以把管路里的製冷液體壓縮後噴射,在盤管裡氣化吸熱,再在外機盤管裡冷卻變液體,再被製冷壓縮機吸回,完成一次迴圈,週二復始。熱力學稱為逆向卡諾迴圈。冬天,則反過來走,把液體倒流,先壓倒外機,在外面吸熱,到室內放熱,提高室內溫度,但制熱的效率比較低,所以往往加有電熱絲加熱。冷...