在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么有了HTTP,還需要WebSocket協(xié)議?

億佰特物聯(lián)網(wǎng)應(yīng)用專家 ? 2023-01-12 15:54 ? 次閱讀

HTTP是基于TCP協(xié)議的,同一時間里,客戶端和服務(wù)器只能有一方主動發(fā)數(shù)據(jù),是半雙工通信。通常,打開某個網(wǎng)頁,我們每點擊一次網(wǎng)頁上的某個選項,前端就會發(fā)送一次HTTP請求,網(wǎng)站返回一次HTTP響應(yīng)。這種由客戶端主動請求,服務(wù)器響應(yīng)的方式滿足大部分網(wǎng)頁的功能場景。但這種情況下,服務(wù)器不會主動給客戶端發(fā)消息。而類似網(wǎng)頁游戲這樣的場景,是需要客戶端和服務(wù)器之間互相主動發(fā)大量數(shù)據(jù)的。因此,我們需要一個基于TCP的新協(xié)議,即新的應(yīng)用層協(xié)議WebSocket。c361815c-9186-11ed-ad0d-dac502259ad0.png

WebSocket是什么?

WebSocket 是一種用于在單個 TCP 連接上進(jìn)行全雙工通信的網(wǎng)絡(luò)協(xié)議。它使用類似于 HTTP 的握手來建立連接,然后使用單獨的持久連接來進(jìn)行通信。這種方式使得 WebSocket 可以在瀏覽器和服務(wù)器之間進(jìn)行實時通信,而不需要多次發(fā)送 HTTP 請求來獲取數(shù)據(jù)。這意味著連接是持久的,它一直保持打開,直到有一方主動關(guān)閉連接。這使得 WebSocket 非常適合用于實時應(yīng)用程序,因為它不需要不斷地建立和關(guān)閉連接。
WebSocket怎樣建立連接?WebSocket 連接通常在客戶端(例如瀏覽器)和服務(wù)器之間建立。客戶端發(fā)送一個 HTTP 請求來建立連接,然后服務(wù)器返回一個確認(rèn)消息,表示已建立連接。之后,客戶端和服務(wù)器可以通過這個連接進(jìn)行雙向通信。客戶端可以向服務(wù)器發(fā)送消息,服務(wù)器也可以向客戶端發(fā)送消息。消息可以是任意的字節(jié)數(shù)組,并且可以使用任意的格式進(jìn)行編碼。c36e1ea8-9186-11ed-ad0d-dac502259ad0.jpg

建立websocket連接

WebSocket 是一種必不可少的客戶端—服務(wù)器通信工具,需要充分了解其實用性并避免使用場景才能從其最大潛力中獲益。

WebSocket的實際用途

最常見的用途是在實時應(yīng)用程序開發(fā)中,它有助于在客戶端持續(xù)顯示數(shù)據(jù)。由于后端服務(wù)器不斷發(fā)回此數(shù)據(jù),WebSocket 允許在已打開的連接中不間斷地推送或傳輸此數(shù)據(jù),使此類數(shù)據(jù)傳輸更快,并利用了應(yīng)用程序的性能。
聊天應(yīng)用程序開發(fā)人員在一次性交換、發(fā)布、廣播消息等操作中調(diào)用 WebSocket 。由于使用相同的 WebSocket 連接來發(fā)送或接收消息,因此通信變得簡單、輕量、快捷。在進(jìn)行游戲應(yīng)用程序開發(fā)的同時,服務(wù)器必須不間斷地接收數(shù)據(jù),而不要求刷新 UI。WebSocket在不影響游戲應(yīng)用程序 UI 的情況下實現(xiàn)了這一目標(biāo)。

從上述幾個示例中,我們大概知道了在什么情況下不太適合使用,例如數(shù)據(jù)交互周期很長,甚至幾小時一次的情況或只需要一次性處理數(shù)據(jù)時,不應(yīng)采用 WebSocket協(xié)議。在這些情況下,使用 HTTP 協(xié)議是一個明智的選擇。由于 HTTP 和 WebSocket 都用于應(yīng)用程序通信,因此人們常常感到困惑,很難從這兩者中選擇一個。

WebSocket 與 HTTP 的選擇

WebSocket 是一種框架雙向協(xié)議。與此相反,HTTP 是一種單向協(xié)議,作用于 TCP 協(xié)議之上。由于WebSocket協(xié)議能夠支持不間斷的數(shù)據(jù)傳輸,因此主要用于實時應(yīng)用程序開發(fā)。HTTP 是無狀態(tài)的,用于開發(fā)RESTful和 SOAP 應(yīng)用程序。SOAP 仍然可以使用 HTTP 來實現(xiàn),但是 REST 被廣泛傳播和使用。
c3870684-9186-11ed-ad0d-dac502259ad0.png

在 WebSocket 中,通信發(fā)生在兩端,這使其成為更快的協(xié)議。在 HTTP 中,連接是在一端建立的,這使得它比 WebSocket 有點慢。WebSocket 使用統(tǒng)一的 TCP 連接,需要一方終止連接。在它發(fā)生之前,連接保持活動狀態(tài)。HTTP 需要為單獨的請求建立不同的連接。請求完成后,連接會自動斷開。 c3975610-9186-11ed-ad0d-dac502259ad0.jpg

HTTP 長輪詢

現(xiàn)今對網(wǎng)絡(luò)數(shù)據(jù)安全性也存在更多需求,WebSocket 連接使用的是標(biāo)準(zhǔn)的 TCP 連接,因此它可以在任何支持 TCP 的網(wǎng)絡(luò)上使用。它使用的是 ws:// 和 wss:// 協(xié)議前綴,這些前綴可以與任何域名或 IP 地址結(jié)合使用。WebSocket 連接是可以加密的,可以使用 TLS(Transport Layer Security,傳輸層安全)協(xié)議來保護(hù)數(shù)據(jù)的安全。這種加密連接使用的是 wss:// 協(xié)議前綴,與不加密的連接使用的 ws:// 協(xié)議前綴相區(qū)別。除此之外,WebSocket 還支持安全握手協(xié)議(Secure Handshake Protocol),這使得它可以在瀏覽器和服務(wù)器之間進(jìn)行加密通信??偟膩碚f,WebSocket 具有較高的安全性,可以保護(hù)數(shù)據(jù)的安全。另外,需要注意的是,WebSocket不是基于HTTP的新協(xié)議,因為WebSocket只有在建立連接時才用到了HTTP,升級完成之后就跟HTTP不再有任何關(guān)系。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6184

    瀏覽量

    137480
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    523

    瀏覽量

    32542
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    用了TOUCH編程還需要再用CUBE-IDE處理嗎?

    如題 用了TOUCH編程還需要再用CUBE-IDE處理嗎? TOUCH 僅僅只有在線版嗎
    發(fā)表于 03-10 06:19

    STM32和MCP2515通信,STM32這端還需要接CAN PHY嗎?

    最近在做CAN通信的相關(guān)項目,STM32G4負(fù)責(zé)接收,對端是一個MCP2510+TJA1040的組合, 想問下應(yīng)該如何接?STM32這端還需要接CAN PHY嗎?
    發(fā)表于 03-10 06:18

    MES系統(tǒng)還需要上MOM系統(tǒng)嗎?這些不同點你需要了解!

    還需要引入MOM系統(tǒng)? 本文將深入探討MES與MOM系統(tǒng)的區(qū)別,從多個維度深入剖析兩者的不同,幫您做出明智決策。 一、定義與范疇 MES 系統(tǒng)- 聚焦生產(chǎn)執(zhí)行: MES 主要圍繞生產(chǎn)車間的執(zhí)行活動展開,著重監(jiān)控和管理生產(chǎn)任務(wù)的執(zhí)行過程,從生產(chǎn)訂單下達(dá)到產(chǎn)
    的頭像 發(fā)表于 02-25 11:09 ?473次閱讀
    <b class='flag-5'>有</b>MES系統(tǒng)<b class='flag-5'>還需要</b>上MOM系統(tǒng)嗎?這些不同點你<b class='flag-5'>需要</b>了解!

    請問DLP2010EVM-LC除了要自己另購19V電源,還需要另購什么東西?

    請問DLP2010EVM-LC除了要自己另購19V電源,還需要另購什么東西?
    發(fā)表于 02-25 06:46

    hyper內(nèi)存條,hyper-v 添加虛擬機(jī)還需要硬盤嗎

    在計算機(jī)技術(shù)的浩瀚星空中,虛擬機(jī)猶如一顆璀璨的明星,散發(fā)著獨特的光芒。今天給大家介紹hyper-v添加虛擬機(jī)還需要硬盤嗎? ? ?hyper-v添加虛擬機(jī)還需要硬盤嗎? ? ?Hyper-V是虛擬機(jī)
    的頭像 發(fā)表于 01-24 14:01 ?384次閱讀
    hyper內(nèi)存條,hyper-v 添加虛擬機(jī)<b class='flag-5'>還需要</b>硬盤嗎

    ADS1293EVM如果用ubs連接電腦,還需要外部供電嗎?

    你好,我是一名在校大學(xué)生,剛剛接觸ADS1293問題多多,請問如果用ubs連接電腦,還需要外部供電嗎?是不是只需要四根線將電極和輸入端口連接,就可以用自帶的軟件測出心電圖?萬分感謝!
    發(fā)表于 01-01 06:42

    如何使用 cURL 測試 HTTP 協(xié)議

    cURL是一個強大的命令行工具,用于傳輸數(shù)據(jù),支持多種協(xié)議,包括HTTP、HTTPS、FTP等。使用cURL測試HTTP協(xié)議可以幫助你理解HTTP
    的頭像 發(fā)表于 12-30 09:26 ?1035次閱讀

    如何實現(xiàn) HTTP 協(xié)議的安全性

    協(xié)議的安全性,可以采取以下幾種方法: 1. 使用HTTPS HTTPS(安全超文本傳輸協(xié)議)是HTTP的安全版本,它在HTTP的基礎(chǔ)上通過SSL/TLS
    的頭像 發(fā)表于 12-30 09:22 ?837次閱讀

    HTTP 協(xié)議的工作原理

    HTTP協(xié)議的工作原理 1. HTTP協(xié)議概述 HTTP是一個應(yīng)用層協(xié)議,它定義
    的頭像 發(fā)表于 12-30 09:21 ?939次閱讀

    HTTP 協(xié)議的基本概念

    HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)是一種用于分布式、協(xié)作式、超媒體信息系統(tǒng)的網(wǎng)絡(luò)協(xié)議。HTTP 是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的
    的頭像 發(fā)表于 12-29 15:12 ?1215次閱讀

    DAC5681z從FPGA讀數(shù)據(jù),為什么還需要一個DCLKP/N呢?

    以DAC5681z為例,DAC芯片從FPGA讀數(shù)據(jù),然后按照自己的采樣速率CLKIN/CLKINC 每隔16bit轉(zhuǎn)換成1個電平值,為什么還需要一個DCLKP/N呢?
    發(fā)表于 12-11 07:52

    企業(yè)上云后還需要數(shù)據(jù)庫運維嗎?真實答案看過來!

    企業(yè)上云后還需要數(shù)據(jù)庫運維嗎?企業(yè)上云后,數(shù)據(jù)庫運維仍然是必不可少的。盡管云計算帶來了許多便利和自動化功能,但數(shù)據(jù)庫作為企業(yè)核心數(shù)據(jù)存儲和管理的關(guān)鍵組件,其運維工作依然需要高度重視。以下是UU云小編對這一觀點的詳細(xì)闡述:
    的頭像 發(fā)表于 11-08 10:02 ?365次閱讀

    含有內(nèi)部ESD保護(hù)的運放,外部保護(hù)還需要加嗎?

    含有內(nèi)部ESD保護(hù)的運放,外部保護(hù)還需要加嗎?因為加外部ESD保護(hù)一定的漏電流存在, 這個會使電路失去一定的精度
    發(fā)表于 09-04 06:54

    暢玩《黑神話:悟空》,除了“官配”硬件還需要注意這些......

    暢玩《黑神話:悟空》,除了“官配”硬件還需要注意這些......
    的頭像 發(fā)表于 08-30 14:58 ?819次閱讀
    暢玩《黑神話:悟空》,除了“官配”硬件<b class='flag-5'>還需要</b>注意這些......

    MES、ERP,為什么還需要QMS?

    ? MES、ERP,質(zhì)量管理為什么還需要QMS? ?在制造業(yè),質(zhì)量管理始終是企業(yè)管理中永恒的主題。品質(zhì)管理要想做得更好,企業(yè)必須掌握足夠多、足夠有用的數(shù)據(jù)和信息,實現(xiàn)質(zhì)量管理信息化。很多中小企業(yè)
    的頭像 發(fā)表于 08-02 10:09 ?555次閱讀
    <b class='flag-5'>有</b><b class='flag-5'>了</b>MES、ERP,為什么<b class='flag-5'>還需要</b>QMS?
    主站蜘蛛池模板: 免费爱爱小视频 | 15—16女人毛片 | 天天摸天天做天天爽天天弄 | 男人和女人做爽爽视频在线观看 | 99久久99久久精品国产 | 一级特黄aaa大片在 一级特黄aaa大片在线观看视频 | 久久九色 | 操女人免费视频 | 天天射天天拍 | aaa一级最新毛片 | 日韩欧美亚洲综合久久影院d3 | 天天爱天天做久久天天狠狼 | 天天色天天碰 | 日本黄色电影在线 | 天天舔天天爽 | 久久怡红院国产精品 | 久久精品五月天 | 天天色天天色天天色 | www福利视频| 天堂中文在线观看 | 综合天堂 | 四虎影院4hu | 操视频网站| 深爱激情成人 | 欧美一级视频在线高清观看 | 美女视频永久黄网站免费观看国产 | 在线黄色网| 色在线免费 | 日本人爽p大片免费看 | 91在线电影 | 国产精品天天爽夜夜欢张柏芝 | 丁香啪啪天堂激情婷婷 | 日本最猛黑人xxxx猛交 | 亚欧人成精品免费观看 | a久久 | 717影院理论午夜伦八戒 | 亚州一级| 亚洲成a人片在线看 | 天天色天天搞 | 色老头免费视频 | 99热最新网址 |