<font id="zqva1"></font>
<rt id="zqva1"></rt>
  • <tt id="zqva1"></tt>
    <cite id="zqva1"></cite>

    <cite id="zqva1"><noscript id="zqva1"></noscript></cite>
      <rp id="zqva1"><meter id="zqva1"></meter></rp>

        <cite id="zqva1"></cite>
          <b id="zqva1"></b>
          <rp id="zqva1"></rp>
          <cite id="zqva1"></cite>

          <rt id="zqva1"></rt>

        1. <rp id="zqva1"></rp>

          http中長連接和websocket的長連接的區別

          時間:?2020-02-26閱讀:?47標簽:?區別
          HTTP是一個應用層協議,無狀態的,端口號為80。主要的版本有1.0/1.1/2.0.

          HTTP/1.* 一次請求-響應,建立一個連接,用完關閉;

          HTTP/1.1 串行化單線程處理,可以同時在同一個tcp鏈接上發送多個請求,但是只有響應是有順序的,只有上一個請求完成后,下一個才能響應。一旦有任務處理超時等,后續任務只能被阻塞(線頭阻塞);

          HTTP/2 并行執行。某任務耗時嚴重,不會影響到任務正常執行

           

          什么是websocket

          Websocket是html5提出的一個協議規范,是為解決客戶端與服務端實時通信。本質上是一個基于tcp,先通過HTTP/HTTPS協議發起一條特殊的http請求進行握手后創建一個用于交換數據的TCP連接。
           
          WebSocket優勢: 瀏覽器和服務器只需要要做一個握手的動作,在建立連接之后,雙方可以在任意時刻,相互推送信息。同時,服務器與客戶端之間交換的頭信息很小。
           


          什么是長連接、短連接

          短連接:

          連接->傳輸數據->關閉連接
          HTTP是無狀態的,瀏覽器和服務器每進行一次HTTP操作,就建立一次連接,但任務結束就中斷連接。
          也可以這樣說:短連接是指SOCKET連接后發送后接收完數據后馬上斷開連接。

          長連接:

          連接->傳輸數據->保持連接 -> 傳輸數據-> 。。。 ->關閉連接。
          長連接指建立SOCKET連接后不管是否使用都保持連接,但安全性較差。
           
           

          http和websocket的長連接區別

          HTTP1.1通過使用Connection:keep-alive進行長連接,HTTP 1.1默認進行持久連接。在一次 TCP 連接中可以完成多個 HTTP 請求,但是對每個請求仍然要單獨發 header,Keep-Alive不會永久保持連接,它有一個保持時間,可以在不同的服務器軟件(如Apache)中設定這個時間。這種長連接是一種“偽鏈接”
          websocket的長連接,是一個真的全雙工。長連接第一次tcp鏈路建立之后,后續數據可以雙方都進行發送,不需要發送請求頭。
           
          keep-alive雙方并沒有建立正真的連接會話,服務端可以在任何一次請求完成后關閉。WebSocket 它本身就規定了是正真的、雙工的長連接,兩邊都必須要維持住連接的狀態。


          吐血推薦

          1.站長廣告聯盟: 整理了目前主流的廣告聯盟平臺,如果你有流量,可以作為參考選擇適合你的平臺點擊進入...

          2.休閑娛樂: 直播/交友    優惠券領取   網頁游戲   H5游戲

          鏈接: http://www.modern-decoration.com.cn/article/detial/7876

          js對象屬性通過“.”和“[ ]”訪問的區別

          (.) 點操作符: 靜態的。右側必須是一個以屬性名稱命名的簡單標識符。屬性名用一個標識符來表示。標識符必須直接出現再js程序中,它們不是數據類型,因此程序無法修改它們。([]) 中括號操作符: 動態的。方括號里必須是一個計算結果為字符串的表達式

          call,apply,bind的用法以及區別

          當一個函數被保存為對象的一個方法時,如果調用表達式包含一個提取屬性的動作,那么它就是被當做一個方法來調用,此時的this被綁定到這個對象。此時的this是指obj1這個對象,obj1.fn()實際上是obj1.fn.call(obj1),事實上誰調用這個函數,this就是誰。

          js中onload和ready區別

          $(document).ready() 和 window.onload 在表面上看都是頁面加載時我們就去執行一個函數或動作,但是在具體的細節上$(document) ready()和window onload還是有區別的

          行內元素和塊級元素之間有什么區別?

          在html+css基礎當中,我們往往會遇到塊元素和行內元素。在實際開發中,會經常把他們弄混淆,而且很難記住。那么行內元素和塊級元素之間有什么區別?行內元素和其他行內元素都會在一條水平線上排列,都是在同一行的;塊級元素卻總是會在新的一行開始排列,各個塊級元素獨占一行

          區別 module.exports 與 exports

          Node.js 模塊里,我們經常見著 module.exports 與 exports 。二者區別在哪?那,什么時候只能用 module.exports ?什么時候只能用 exports ?從 模塊編寫者 的角度出發,并沒有什么區別,二者都能用;若非要說個區別

          HTML5和Web前端有什么區別?

          很多小伙伴都知道HTML5這個概念,但是具體不知道是做什么的,今天我們就來給大家普及一下HTML5和web前端的關系和區別。HTML5其實是一種技術的集合,它包括了HTML5,CSS3,JS等技術。而Web前端則是一種職業

          setTimeout和setInterval實現倒計時的區別

          這是一個由于倒計時插件出現bug而出現的文章,導致我努力去尋找這個原因的源頭,最后終于發現了新大陸(先事先展示一下新大陸的結論):setTimeout和setInterval都有誤差

          Js中parseInt()和Number()之間有什么區別?

          Number()和parseInt()都可以用來進行數字的轉換,那么parseInt()和Number()之間的區別是什么?parseInt()函數用于解析字符串并將其轉換為指定基數的整數。它需要兩個參數,要解析的字符串和要使用的基數。基數是一個介于2和36之間的整數,表示數字的基數。

          繼承行為在 ES5 與 ES6 中的區別

          最近在看 React 方面的一些文章時,看到了這樣一個問題,「為什么每個 class 中都要寫 super, super 是做什么的?」, 剛看到這個問題時,直接就想到了繼承行為在 javascript 中的表現。

          HTML中name、id、class的區別介紹

          在一個頁面中,有許多的控件(元素或標簽)。為了更方便的操作這些標簽,就需要給這些標簽標識一個身份牌。在HTML中有name、id、class等屬性區分一個元素,下面我們就來看一下這幾種屬性的區別。

          fly63.com版權所有,內容以共享、參考、研究為目的,不存在任何商業目的。其版權屬原作者所有,如有侵權,請與小編聯系!情況屬實本人將予以刪除!

          文章投稿關于web前端網站點搜索站長推薦網站地圖站長QQ:522607023

          小程序專欄: 土味情話心理測試腦筋急轉彎幽默笑話段子句子語錄成語大全

          国产精品高清视频免费 - 视频 - 在线观看 - 影视资讯 - 唯爱网