chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

億佰特物聯(lián)網(wǎng)應用專家 ? 2023-01-12 15:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

WebSocket是什么?

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

建立websocket連接

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

WebSocket的實際用途

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

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

WebSocket 與 HTTP 的選擇

WebSocket 是一種框架雙向協(xié)議。與此相反,HTTP 是一種單向協(xié)議,作用于 TCP 協(xié)議之上。由于WebSocket協(xié)議能夠支持不間斷的數(shù)據(jù)傳輸,因此主要用于實時應用程序開發(fā)。HTTP 是無狀態(tài)的,用于開發(fā)RESTful和 SOAP 應用程序。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)絡數(shù)據(jù)安全性也存在更多需求,WebSocket 連接使用的是標準的 TCP 連接,因此它可以在任何支持 TCP 的網(wǎng)絡上使用。它使用的是 ws:// 和 wss:// 協(xié)議前綴,這些前綴可以與任何域名或 IP 地址結合使用。WebSocket 連接是可以加密的,可以使用 TLS(Transport Layer Security,傳輸層安全)協(xié)議來保護數(shù)據(jù)的安全。這種加密連接使用的是 wss:// 協(xié)議前綴,與不加密的連接使用的 ws:// 協(xié)議前綴相區(qū)別。除此之外,WebSocket 還支持安全握手協(xié)議(Secure Handshake Protocol),這使得它可以在瀏覽器和服務器之間進行加密通信??偟膩碚f,WebSocket 具有較高的安全性,可以保護數(shù)據(jù)的安全。另外,需要注意的是,WebSocket不是基于HTTP的新協(xié)議,因為WebSocket只有在建立連接時才用到了HTTP,升級完成之后就跟HTTP不再有任何關系。

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

    關注

    18

    文章

    6447

    瀏覽量

    140246
  • HTTP
    +關注

    關注

    0

    文章

    538

    瀏覽量

    35552
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    自動駕駛占用網(wǎng)絡還需要數(shù)據(jù)標注嗎?

    能夠通過空間體素化的方式來感知世界,甚至可以識別那些從未見過的異形障礙物,那它是不是不再需要傳統(tǒng)意義上的數(shù)據(jù)標注?事實上,占據(jù)網(wǎng)絡不僅沒有取消標注,反而將標注的維度和難度推向一個新的高度。 ? 為什么占據(jù)網(wǎng)絡變得如此重要?
    的頭像 發(fā)表于 04-17 08:53 ?377次閱讀
    自動駕駛占用網(wǎng)絡<b class='flag-5'>還需要</b>數(shù)據(jù)標注嗎?

    單片機中有FLASH為啥還需要EEROM?

    單片機里明明FLASH,為啥還要再塞個EEPROM?不少剛接觸嵌入式的小伙伴估計都有過這樣的疑惑:FLASH能存程序,容量大,讀取又快,干嘛還要加個讀寫慢、容量小的EEPROM?這不是多此一舉嘛。其實,這倆兄弟各有所長,分工明確,就像你電腦里的固態(tài)硬盤和內(nèi)存條,誰也替不了誰。
    的頭像 發(fā)表于 03-05 13:39 ?266次閱讀
    單片機中有FLASH為啥<b class='flag-5'>還需要</b>EEROM?

    電子產(chǎn)品CE認證還需要做RoHS嗎?2026年合規(guī)答疑

    很多電子企業(yè)出口歐盟時都會陷入一個核心困惑:“我的電子產(chǎn)品已經(jīng)做了CE認證,還需要額外做RoHS嗎?”答案很明確:多數(shù)電子電氣類產(chǎn)品,CE認證仍需滿足RoHS合規(guī),二者并非二選一,而是“包含與被
    的頭像 發(fā)表于 02-09 16:43 ?1311次閱讀
    電子產(chǎn)品<b class='flag-5'>有</b>CE認證<b class='flag-5'>還需要</b>做RoHS嗎?2026年合規(guī)答疑

    工業(yè)領域為什么會用到HTTP協(xié)議

    工業(yè)領域使用HTTP協(xié)議主要源于其 通用性、易用性、擴展性 以及與現(xiàn)代工業(yè)系統(tǒng)集成需求的契合,盡管工業(yè)環(huán)境對實時性、可靠性的要求較高,但HTTP在特定場景下仍能發(fā)揮關鍵作用。以下是具體原因分析
    的頭像 發(fā)表于 12-27 09:38 ?258次閱讀

    HTTP物聯(lián)網(wǎng)網(wǎng)關是什么?什么功能?

    HTTP物聯(lián)網(wǎng)網(wǎng)關是一種硬件或軟件設備,位于物聯(lián)網(wǎng)設備與云端服務之間,以HTTP協(xié)議為核心通信方式,負責數(shù)據(jù)的采集、處理、傳輸和管理。它作為物聯(lián)網(wǎng)架構中的關鍵組件,解決不同設備間
    的頭像 發(fā)表于 12-24 11:33 ?507次閱讀
    <b class='flag-5'>HTTP</b>物聯(lián)網(wǎng)網(wǎng)關是什么?<b class='flag-5'>有</b>什么功能?

    HTTP通信網(wǎng)關是什么?什么功能?

    HTTP通信網(wǎng)關是連接不同網(wǎng)絡或協(xié)議的關鍵設備/服務器,在HTTP通信中扮演著協(xié)議轉換、安全加固、性能優(yōu)化等核心角色,其本質是 實現(xiàn)不同協(xié)議
    的頭像 發(fā)表于 12-23 11:14 ?607次閱讀

    使用 HTTP 協(xié)議能否實現(xiàn) IAP 功能?

    使用 HTTP 協(xié)議,能否實現(xiàn) IAP 功能?
    發(fā)表于 12-23 06:35

    使用HTTP實現(xiàn)IAP的方法

    使用 HTTP 協(xié)議進行固件升級沒有使用 TFTP 常見,但是在需要通過 Internet 進行遠程編程時,這種解決方案就顯得極為有用。這時,需要使用 TCP 傳輸
    發(fā)表于 12-16 06:18

    榮耀的星際穿越,中國的AI星海

    這么多AI產(chǎn)品,我們?yōu)槭裁?b class='flag-5'>還需要千問App
    的頭像 發(fā)表于 11-18 13:22 ?6421次閱讀
    榮耀的星際穿越,中國的AI星海

    東方的ChatGPT來了?這么多AI產(chǎn)品,我們?yōu)槭裁?b class='flag-5'>還需要千問App

    行業(yè)芯事行業(yè)資訊
    腦極體
    發(fā)布于 :2025年11月17日 19:06:36

    請問riscv中斷還需要軟件保存上下文和恢復嗎?

    以下是我拷貝的文檔里的說明,這個中斷處理還需要軟件來寫上下文保存和恢復,在使用ARM核的單片機都不需要考慮這些的,使用過的小伙伴能解答嗎? 3.8. 進出中斷的上下文保存和恢復 RISC-V架構
    發(fā)表于 10-20 09:56

    一文吃透WebSocket:智能物聯(lián)網(wǎng)通信的入門與實戰(zhàn)全攻略!

    解決方案,助你輕松掌握這一核心技術。 一、WebSocket基礎知識 1.1 ?什么是WebsocketWebSocket是HTML5下一種新的協(xié)議(本質上是一個基于TCP的
    的頭像 發(fā)表于 10-15 18:16 ?610次閱讀
    一文吃透<b class='flag-5'>WebSocket</b>:智能物聯(lián)網(wǎng)通信的入門與實戰(zhàn)全攻略!

    智能物聯(lián)網(wǎng)實時通信實戰(zhàn):WebSocket技術解析 !

    輔以實戰(zhàn)案例,助你快速上手。 一、WebSocket基礎知識 1.1 ?什么是Websocket? WebSocket是HTML5下一種新的協(xié)議(本質上是一個基于TCP的
    的頭像 發(fā)表于 10-15 18:16 ?1159次閱讀
    智能物聯(lián)網(wǎng)實時通信實戰(zhàn):<b class='flag-5'>WebSocket</b>技術解析 !

    請問STM32新出的芯片USB還需要上拉電阻嗎?

    我記得F103的USB需要上拉個電阻,STM32新出的芯片USB還需要上拉電阻嗎?例如H5系列
    發(fā)表于 07-18 06:40

    HTTP協(xié)議在工業(yè)領域會用到嗎

    、控制器、工業(yè)機器人等)需要接入網(wǎng)絡以實現(xiàn)遠程監(jiān)控和管理。HTTP協(xié)議作為一種廣泛應用的網(wǎng)絡協(xié)議,可以用于設備與工業(yè)互聯(lián)網(wǎng)平臺之間的通信。設備通過H
    的頭像 發(fā)表于 06-03 09:17 ?782次閱讀