<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## HTTP/0.9 已過時。只接受GET一種請求方法,沒有在通訊中指定版本號,且不支持請求頭。由于該版本不支持POST方法,因此客戶端無法向服務器傳遞太多信息。 ## HTTP/1.0 這是第一個在通訊中指定版本號的HTTP協議版本,至今仍被廣泛采用,特別是在代理服務器中。 ## HTTP/1.1 持久連接被默認采用,并能很好地配合代理服務器工作。還支持以管道方式在同時發送多個請求,以便降低線路負載,提高傳輸速度。 > HTTP/1.1相較于HTTP/1.0協議的區別主要體現在: 緩存處理 帶寬優化及網絡連接的使用 錯誤通知的管理 消息在網絡中的發送 互聯網地址的維護 安全性及完整性 ## HTTP/2 在 HTTP/2 的第一版草案(對 SPDY 協議的復刻)中,新增的性能改進不僅包括HTTP/1.1中已有的多路復用,修復隊頭阻塞問題,允許設置設定請求優先級,還包含了一個頭部壓縮算法(HPACK)\[15\]\[16\]。此外, HTTP/2 采用了二進制而非明文來打包、傳輸客戶端—服務器間的數據。 ### 幀、消息、流和TCP連接 有別于HTTP/1.1在連接中的明文請求,HTTP/2與SPDY一樣,將一個TCP連接分為若干個流(Stream),每個流中可以傳輸若干消息(Message),每個消息由若干最小的二進制幀(Frame)組成。這也是HTTP/1.1與HTTP/2最大的區別所在。 HTTP/2中,每個用戶的操作行為被分配了一個流編號(stream ID),這意味著用戶與服務端之間創建了一個TCP通道;協議將每個請求分割為二進制的控制幀與數據幀部分,以便解析。這個舉措在SPDY中的實踐表明,相比HTTP/1.1,新頁面加載可以加快11.81% 到 47.7% ### HPACK 算法 HPACK算法是新引入HTTP/2的一個算法,用于對HTTP頭部做壓縮。其原理在于: 客戶端與服務端根據 RFC 7541 的附錄A,維護一份共同的靜態字典(Static Table),其中包含了常見頭部名及常見頭部名稱與值的組合的代碼; 客戶端和服務端根據先入先出的原則,維護一份可動態添加內容的共同動態字典(Dynamic Table); 客戶端和服務端根據 RFC 7541 的附錄B,支持基于該靜態哈夫曼碼表的哈夫曼編碼(Huffman Coding)。 ### 服務器推送 網站為了使請求數減少,通常采用對頁面上的圖片、腳本進行極簡化處理。但是,這一舉措十分不方便,也不高效,依然需要諸多HTTP鏈接來加載頁面和頁面資源。 HTTP/2引入了服務器推送,即服務端向客戶端發送比客戶端請求更多的數據。這允許服務器直接提供瀏覽器渲染頁面所需資源,而無須瀏覽器在收到、解析頁面后再提起一輪請求,節約了加載時間。 ## 摘自 [介紹下 http1.0、1.1、2.0 協議的區別?](https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/232)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看