92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

WebSocket

2023-2-1    前端達人

目錄

一,什么是websocket

二,websocket的原理

三,websocket與http的關系

四,websocket解決的問題

1.http存在的問題

2.long poll(長輪詢)

3.Ajax輪詢

4.websocket的改進


一,什么是websocket

  • WebSocket是HTML5下一種新的協議(websocket協議本質上是一個基于tcp的協議)
  • 它實現了瀏覽器與服務器全雙工通信,能更好的節省服務器資源和帶寬并達到實時通訊的目的
  • Websocket是一個持久化的協議

二,websocket的原理

  1. websocket約定了一個通信的規范,通過一個握手的機制,客戶端和服務器之間能建立一個類似tcp的連接,從而方便它們之間的通信
  2. 在websocket出現之前,web交互一般是基于http協議的短連接或者長連接
  3. websocket是一種全新的協議,不屬于http無狀態協議,協議名為"ws"

三,websocket與http的關系

 相同點:

  1. 都是基于tcp的,都是可靠性傳輸協議
  2. 都是應用層協議

不同點:

  1. WebSocket是雙向通信協議,模擬Socket協議,可以雙向發送或接受信息
  2. HTTP是單向的
  3. WebSocket是需要瀏覽器和服務器握手進行建立連接的
  4. 而http是瀏覽器發起向服務器的連接,服務器預先并不知道這個連接

 聯系:

  • WebSocket在建立握手時,數據是通過HTTP傳輸的。但是建立之后,在真正傳輸時候是不需要HTTP協議的

總結(總體過程):

  1. 首先,客戶端發起http請求,經過3次握手后,建立起TCP連接;http請求里存放WebSocket支持的版本號等信息,如:Upgrade、Connection、WebSocket-Version等;
  2. 然后,服務器收到客戶端的握手請求后,同樣采用HTTP協議回饋數據;
  3. 最后,客戶端收到連接成功的消息后,開始借助于TCP傳輸信道進行全雙工通信。

四,websocket解決的問題

1.http存在的問題

  • http是一種無狀態協議,每當一次會話完成后,服務端都不知道下一次的客戶端是誰,需要每次知道對方是誰,才進行相應的響應,因此本身對于實時通訊就是一種極大的障礙
  • http協議采用一次請求,一次響應,每次請求和響應就攜帶有大量的header頭,對于實時通訊來說,解析請求頭也是需要一定的時間,因此,效率也更低下
  • 最重要的是,需要客戶端主動發,服務端被動發,也就是一次請求,一次響應,不能實現主動發送

2.long poll(長輪詢)

  • 對于以上情況就出現了http解決的第一個方法——長輪詢
  • 基于http的特性,簡單點說,就是客戶端發起長輪詢,如果服務端的數據沒有發生變更,會 hold 住請求,直到服務端的數據發生變化,或者等待一定時間超時才會返回。返回后,客戶端又會立即再次發起下一次長輪詢
  • 優點是解決了http不能實時更新的弊端,因為這個時間很短,發起請求即處理請求返回響應,實現了“偽·長連接”
  • 張三取快遞的例子,張三今天一定要取到快遞,他就一直站在快遞點,等待快遞一到,立馬取走

 從例子上來看有個問題:

  1. 假如有好多人一起在快遞站等快遞,那么這個地方是否足夠大,(抽象解釋:需要有很高的并發,同時有很多請求等待在這里)
  • 總的來看:
  • 推送延遲。服務端數據發生變更后,長輪詢結束,立刻返回響應給客戶端。

  • 服務端壓力。長輪詢的間隔期一般很長,例如 30s、60s,并且服務端 hold 住連接不會消耗太多服務端資源。

3.Ajax輪詢

  • 基于http的特性,簡單點說,就是規定每隔一段時間就由客戶端發起一次請求,查詢有沒有新消息,如果有,就返回,如果沒有等待相同的時間間隔再次詢問
  • 優點是解決了http不能實時更新的弊端,因為這個時間很短,發起請求即處理請求返回響應,把這個過程放大n倍,本質上還是request = response
  • 舉個形象的例子(假設張三今天有個快遞快到了,但是張三忍耐不住,就每隔十分鐘給快遞員或者快遞站打電話,詢問快遞到了沒,每次快遞員就說還沒到,等到下午張三的快遞到了,but,快遞員不知道哪個電話是張三的,(可不是只有張三打電話,還有李四,王五),所以只能等張三打電話,才能通知他,你的快遞到了)

 從例子上來看有兩個問題:

  1. 假如說,張三打電話的時間間隔為10分鐘,當他收到快遞前最后一次打電話,快遞員說沒到,他剛掛掉電話,快遞入庫了(就是到了),那么等下一次時間到了,張三打電話知道快遞到了,那么這樣的通訊算不算實時通訊?很顯然,不算,中間有十分鐘的時間差,還不算給快遞員打電話的等待時間(抽象的解釋:每次request的請求時間間隔等同于十分鐘,請求解析相當于等待)
  2. 假如說張三所在的小區每天要收很多快遞,每個人都采取主動給快遞員打電話的方式,那么快遞員需要以多快的速度接到,其他人打電話占線也是問題(抽象解釋:請求過多,服務端響應也會變慢)
  • 總的來看,Ajax輪詢存在的問題:
  1. 推送延遲。

  2. 服務端壓力。配置一般不會發生變化,頻繁的輪詢會給服務端造成很大的壓力。

  3. 推送延遲和服務端壓力無法中和。降低輪詢的間隔,延遲降低,壓力增加;增加輪詢的間隔,壓力降低,延遲增高

4.websocket的改進

一旦WebSocket連接建立后,后續數據都以幀序列的形式傳輸。在客戶端斷開WebSocket連接或Server端中斷連接前,不需要客戶端和服務端重新發起連接請求。在海量并發及客戶端與服務器交互負載流量大的情況下,極大的節省了網絡帶寬資源的消耗,有明顯的性能優勢,且客戶端發送和接受消息是在同一個持久連接上發起,實現了“真·長鏈接”,實時性優勢明顯。

 

WebSocket有以下特點:

  • 是真正的全雙工方式,建立連接后客戶端與服務器端是完全平等的,可以互相主動請求。而HTTP長連接基于HTTP,是傳統的客戶端對服務器發起請求的模式。
  • HTTP長連接中,每次數據交換除了真正的數據部分外,服務器和客戶端還要大量交換HTTP header,信息交換效率很低。Websocket協議通過第一個request建立了TCP連接之后,之后交換的數據都不需要發送 HTTP header就能交換數據,這顯然和原有的HTTP協議有區別所以它需要對服務器和客戶端都進行升級才能實現(主流瀏覽器都已支持HTML5)




藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請加藍小助,微信號:ben_lanlan,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系01063334945。


分享此文一切功德,皆悉回向給文章原作者及眾讀者.
免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。


藍藍設計www.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務UI設計公司、界面設計公司、UI設計服務公司、數據可視化設計公司、UI交互設計公司、高端網站設計公司、UI咨詢、用戶體驗公司、軟件界面設計公司

日歷

鏈接

個人資料

藍藍設計的小編 http://www.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
日韩欧美国产中文字幕| 欧美精品免费播放| 亚洲欧美成人在线| 国产精品永久免费在线| 国产精品69久久| 欧美日韩国产第一页| 欧美中文字幕视频在线观看| 97超级碰在线看视频免费在线看| 亚洲国产成人一区| 日韩毛片中文字幕| 欧美日韩精品中文字幕| 91欧美日韩一区| 九九久久综合网站| 日韩av在线网址| 午夜精品免费视频| 人人澡人人澡人人看欧美| 在线观看视频亚洲| www.亚洲免费视频| 色偷偷88888欧美精品久久久| 亚洲毛茸茸少妇高潮呻吟| 色噜噜久久综合伊人一本| 欧美极品少妇xxxxⅹ裸体艺术| 91精品在线国产| 中文精品99久久国产香蕉| 欧美国产日韩二区| 国产日韩中文字幕| 欧美成人免费网| 国产精品视频免费在线观看| 国产精品日韩av| 国产精品成人一区二区三区吃奶| 亚洲欧美一区二区精品久久久| 国产精品一区二区三| 国产亚洲欧洲高清| 国产精品视频白浆免费视频| 久久久久中文字幕| 欧美精品一本久久男人的天堂| 欧美激情在线一区| 国内精久久久久久久久久人| 91免费国产视频| 欧美日韩xxxxx| 国产99视频精品免视看7| 国产精品久久久久久久久久久不卡| 91国产精品电影| 欧美二区乱c黑人| 久久电影一区二区| 欧美成aaa人片免费看| 久久久久久久999| 日韩精品在线视频美女| 久久成年人免费电影| 精品小视频在线| 九九精品视频在线| 久久久久久综合网天天| 日韩中文字幕网站| 中文字幕一区二区三区电影| 亚洲男人第一av网站| 欧美视频在线观看免费网址| 97在线观看视频国产| 国产丝袜一区二区三区免费视频| 亚洲电影在线看| 亚洲欧美日本伦理| 欧美性在线观看| 日韩国产中文字幕| 欧美极品少妇与黑人| 色婷婷久久一区二区| 中文字幕日韩av电影| 亚洲va欧美va国产综合剧情| 国产aⅴ夜夜欢一区二区三区| 成人黄色激情网| 久久这里有精品| 亚洲精品www久久久久久广东| 成人黄色在线免费| 亚洲人成在线播放| 日韩中文在线中文网三级| 日韩中文娱乐网| 欧美老少做受xxxx高潮| 国产精品久久久久久久久久久久| 欧美电影免费观看大全| 91在线免费视频| 欧美成人性色生活仑片| 美日韩在线视频| 日韩美女免费线视频| 性夜试看影院91社区| 日韩欧美国产黄色| 91久久久精品| 欧美黑人一级爽快片淫片高清| 777国产偷窥盗摄精品视频| 精品亚洲一区二区三区| 日韩黄色在线免费观看| 亚洲va码欧洲m码| 亚洲激情视频在线播放| 国产免费一区视频观看免费| 精品欧美国产一区二区三区| 成人福利网站在线观看11| 91色p视频在线| 国产婷婷97碰碰久久人人蜜臀| 亚洲区中文字幕| 国产精品视频公开费视频| 九九热在线精品视频| 日韩在线激情视频| 久久免费精品日本久久中文字幕| 中文字幕欧美专区| 爽爽爽爽爽爽爽成人免费观看| 深夜福利国产精品| 欧美中文字幕在线| 亚洲自拍偷拍色片视频| 国产精品一区二区久久久久| 国产原创欧美精品| 午夜伦理精品一区| 久久精品色欧美aⅴ一区二区| 国产69精品久久久久久| 成人黄色在线观看| 97国产suv精品一区二区62| 国产99久久精品一区二区永久免费| 久久在精品线影院精品国产| 国产精品99免视看9| 亚洲无限乱码一二三四麻| 亚洲精品久久久久国产| 97超碰蝌蚪网人人做人人爽| 韩日精品中文字幕| 久久久久久91香蕉国产| 欧美激情按摩在线| 国产精品视频大全| www.xxxx精品| 永久免费精品影视网站| 色播久久人人爽人人爽人人片视av| 日韩精品亚洲视频| 久久精品国产欧美亚洲人人爽| 久久免费少妇高潮久久精品99| 欧美日韩黄色大片| 亚洲第一天堂av| 日韩精品久久久久久久玫瑰园| 欧美wwwxxxx| 欧美精品免费在线观看| 丁香五六月婷婷久久激情| 欧美资源在线观看| 日韩激情在线视频| 日韩欧美视频一区二区三区| 97香蕉超级碰碰久久免费软件| 欧洲s码亚洲m码精品一区| 久久999免费视频| 亚洲成人在线网| 2019中文字幕全在线观看| 欧美极品少妇xxxxⅹ喷水| 欧美电影在线观看| 国产91ⅴ在线精品免费观看| 久久精品一区中文字幕| 在线精品国产成人综合| 亚洲精品99久久久久中文字幕| 日韩在线视频线视频免费网站| 久久久久久久久久婷婷| 亚洲精品自拍偷拍| 在线亚洲国产精品网| 欧美高清一级大片| 久久精品国产99国产精品澳门| 国产精品旅馆在线| 国产欧美在线播放| 欧美丰满少妇xxxxx做受| 亚洲二区在线播放视频| 亚洲色图av在线| 日韩欧美视频一区二区三区| 亚洲黄色av女优在线观看| 欧美插天视频在线播放| 国产精品久久久久久久久久久不卡| 在线视频日本亚洲性|