成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

CTO問(wèn):WebSocket 是啥玩意?

網(wǎng)絡(luò) 通信技術(shù)
每發(fā)一個(gè)請(qǐng)求都要先建立一個(gè)TCP連接,客戶(hù)端收到響應(yīng)后連接斷開(kāi),發(fā)起第二次請(qǐng)求時(shí)重新建立新的TCP連接。這就好比你和女朋友打電話(huà),撥通電話(huà)后,你說(shuō)一句,女朋友回復(fù)完后雙方就自動(dòng)掛機(jī)了。

[[428976]]

今天這篇文章沒(méi)有代碼,看起來(lái)不會(huì)很累。

瀏覽器客戶(hù)端與服務(wù)器通信時(shí),傳統(tǒng)的HTTP連接是這樣的。

HTTP1.0

每發(fā)一個(gè)請(qǐng)求都要先建立一個(gè)TCP連接,客戶(hù)端收到響應(yīng)后連接斷開(kāi),發(fā)起第二次請(qǐng)求時(shí)重新建立新的TCP連接。這就好比你和女朋友打電話(huà),撥通電話(huà)后,你說(shuō)一句,女朋友回復(fù)完后雙方就自動(dòng)掛機(jī)了。你要講第二句,不好意思,你得重新?lián)芴?hào),如此往復(fù),最后你可能瘋掉了。

但早期HTTP1.0就是這樣,打開(kāi)一個(gè)網(wǎng)頁(yè)如果有100個(gè)請(qǐng)求,那就要建立100次連接,這種方式對(duì)資源是一種嚴(yán)重的浪費(fèi)。

HTTP1.1

到了HTTP1.1 有了一定改善,出了一個(gè)叫長(zhǎng)連接的模型(Keepalive),也叫持久連接。發(fā)送請(qǐng)求前,先建立TCP連接,不過(guò),連接后,你可以多次發(fā)送請(qǐng)求和接受響應(yīng)了,效率大幅提升。

但是,HTTP 請(qǐng)求是按順序發(fā)出的,第二次請(qǐng)求必須在第一個(gè)響應(yīng)達(dá)到后才能發(fā)起。就好比,你和女朋友打電話(huà)時(shí),撥通后,你說(shuō)一句,等她回復(fù)后才能接著說(shuō)第二句,如果她還沒(méi)回你,那對(duì)不起,你只能等。這樣處理也是有好處的,我明確知道你回復(fù)我的是哪句話(huà)。

HTTP1.1已經(jīng)比HTTP1.0先進(jìn)了很多,雖然HTTP1.1 還有個(gè)管道連接(Pipelining),就是建立連接后,可以不用等上一個(gè)請(qǐng)求的響應(yīng)結(jié)果就可以發(fā)送第二個(gè)請(qǐng)求。

但這個(gè)功能在瀏覽器中默認(rèn)是關(guān)閉的。主要原因有:

  1. 一些代理服務(wù)器不能正確的處理 HTTP Pipelining。
  2. Head-of-line Blocking 連接頭阻塞:在建立起一個(gè) TCP 連接之后,假設(shè)客戶(hù)端在這個(gè)連接連續(xù)向服務(wù)器發(fā)送了幾個(gè)請(qǐng)求。按照標(biāo)準(zhǔn),服務(wù)器應(yīng)該按照收到請(qǐng)求的順序返回結(jié)果,假設(shè)服務(wù)器在處理首個(gè)請(qǐng)求時(shí)花費(fèi)了大量時(shí)間,那么后面所有的請(qǐng)求都需要等著首個(gè)請(qǐng)求結(jié)束才能響應(yīng)。

不過(guò),這些問(wèn)題在HTTP2.0中得到了解決,關(guān)于2.0 這個(gè)可以后續(xù)再展開(kāi)講

傳統(tǒng)的HTTP服務(wù)都是由客服端向服務(wù)器主動(dòng)發(fā)起請(qǐng)求獲取結(jié)果,客戶(hù)端不主動(dòng)就永遠(yuǎn)拿不到結(jié)果,所以對(duì)實(shí)時(shí)性要求比較的場(chǎng)景,我們一般用輪詢(xún)的方式,每隔一段時(shí)間去問(wèn)一下服務(wù)器,

  1. 服務(wù)器有新的數(shù)據(jù)了嗎? 
  2.  
  3. 沒(méi)有 
  4.  
  5. 過(guò)了幾秒鐘,又問(wèn) 
  6.  
  7.  
  8. 服務(wù)器有新的數(shù)據(jù)了嗎? 
  9.  
  10. 有了,我給你 

那對(duì)即時(shí)性要求更高的場(chǎng)景,有沒(méi)有可能服務(wù)器主動(dòng)告知客戶(hù)端,只要有數(shù)據(jù)更新了就通知客戶(hù)端,而不是讓客戶(hù)端去詢(xún)問(wèn)呢,答案就是WebSocket

WebSocket

WebSocket是一種在單個(gè) TCP 連接上進(jìn)行全雙工通訊的協(xié)議。WebSocket 是獨(dú)立的、創(chuàng)建在 TCP 上的協(xié)議,和 HTTP 的唯一關(guān)聯(lián)是使用 HTTP 協(xié)議的101狀態(tài)碼進(jìn)行協(xié)議切換,使用的 TCP 端口是80,可以用于繞過(guò)大多數(shù)防火墻的限制。WebSocket 使得客戶(hù)端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡(jiǎn)單,允許服務(wù)端直接向客戶(hù)端推送數(shù)據(jù)而不需要客戶(hù)端進(jìn)行請(qǐng)求,在 WebSocket API 中,瀏覽器和服務(wù)器只需要完成一次握手,兩者之間就直接可以創(chuàng)建持久性的連接,并允許數(shù)據(jù)進(jìn)行雙向傳送。

WebSocket常出現(xiàn)在線(xiàn)聊天室、在線(xiàn)客服系統(tǒng)、評(píng)論系統(tǒng)、WebIM等業(yè)務(wù)場(chǎng)景中。

WebSocket 作為一種規(guī)范,在實(shí)際開(kāi)發(fā)過(guò)程中,我們只要按照規(guī)范來(lái)構(gòu)建服務(wù)端和客戶(hù)端就可以基于WebSocket實(shí)現(xiàn)Web上的即時(shí)聊天功能。好在,現(xiàn)在并不需要我們從零去自己實(shí)現(xiàn)WebSocket協(xié)議,Socket.IO 就是一個(gè)開(kāi)源的WebSocket庫(kù)。

好了,今天先寫(xiě)到這里,下期基于 websocket 實(shí)戰(zhàn)一把。

本文轉(zhuǎn)載自微信公眾號(hào)「Python之禪」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Python之禪公眾號(hào)。

責(zé)任編輯:武曉燕 來(lái)源: Python之禪
相關(guān)推薦

2018-05-04 15:57:42

AI智慧谷歌

2018-01-26 08:54:29

存儲(chǔ)SSDHDD

2020-10-29 07:03:56

Docker容器存儲(chǔ)

2019-10-25 09:50:03

網(wǎng)絡(luò)爬蟲(chóng)蜘蛛Wi-Fi

2019-07-04 10:49:13

HTTPWebSocket協(xié)議

2012-02-13 15:50:59

2020-11-19 09:07:56

Service接口CTO

2022-03-18 10:43:12

WebSocketHTML5TCP 連接

2017-05-14 16:34:07

語(yǔ)言PLSQL

2024-03-18 08:53:07

SubListOOMList

2010-06-28 15:58:45

EclipseJavaIDE

2010-06-29 13:39:26

Eclipse什么玩意兒

2010-07-02 10:10:09

Eclipse

2010-07-05 15:56:01

EclipseRCPECF

2021-03-22 07:45:05

Sentinel微服務(wù)開(kāi)源的項(xiàng)目

2024-03-28 08:43:42

webpack代碼true?

2011-11-21 10:25:29

iCloud

2021-08-06 07:51:47

Redis 緩存系統(tǒng)

2021-07-26 10:28:13

MySQL事務(wù)隔離

2010-04-19 17:03:01

搜索谷歌
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩一区二 | 韩日视频在线观看 | 日韩欧美一区二区三区免费观看 | 一区二区三区影院 | 一区二区三区久久久 | 国产一二区视频 | 午夜视频在线 | 国产精品久久精品 | 日韩一区二区三区在线 | 午夜欧美 | 国内成人免费视频 | 一级毛片在线播放 | 91视频免费在观看 | 操视频网站 | 伊人婷婷 | 亚洲中午字幕 | 欧美中文字幕在线观看 | 久久精品99 | 自拍偷拍第一页 | 精品视频在线播放 | 国产福利久久 | 人人九九精| 欧美高清视频 | 欧美色人| 蜜桃在线播放 | 免费污视频| 男女精品网站 | 毛片免费在线观看 | 成人免费淫片aa视频免费 | 国产99久久精品一区二区永久免费 | 天天操狠狠操 | 亚洲成av人片在线观看 | 国产精品福利视频 | 91av亚洲 | h视频免费在线观看 | 91 久久 | 久久久国产精品网站 | 国产ts人妖系列高潮 | 欧美日本一区 | 国产精品亚洲综合 | 亚洲精品一区二区三区丝袜 |