<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                **HTTP/2 的 Server Push 的特性是怎樣的?有什么用?** 答:瀏覽器為了不浪費帶寬,會先分析完文檔再下載資源。而由于各個資源的相互掣肘依賴,其中還會有某個資源阻塞的情況。當然,現代瀏覽器也不是傻瓜,它們會通過預加載來提速。通常瀏覽器預加載提速有兩種方法: 1.?分析文檔,提前加載; 2.?根據用戶行為預加載,如鼠標在鏈接上的 hover 懸停動作等。 除此之外,前端開發工程師也可以通過 dns-prefetch 等屬性指定瀏覽器的預加載行為,更流行的方法是放棄緩存帶來的便利性,將幾個特別重要的資源內聯在 HTML 文檔中。 [![](https://box.kancloud.cn/2015-12-18_56740bdb34fb6.jpg)](http://www.bokeyy.com/wp-content/uploads/2015/12/exportfile-1.jpg) 沒有 Server Push,HTTP/1.1 的資源加載流 HTTP/2 的 Server Push 特性把這些包袱從瀏覽器或者前端工程師手里拿過來,直接丟給了應用層。使用 HTTP/2 的 Server Push 就相當于使用升級版的內聯資源。首先,瀏覽器在完全不清楚 HTML 文檔是什么情況的前提下,就可以得到服務器推送的資源文件。而且,與內聯資源不同的是,客戶端也可以選擇暫停、或者拒絕這份推送。 [![](https://box.kancloud.cn/2015-12-18_56740bdc36afa.jpg)](http://www.bokeyy.com/wp-content/uploads/2015/12/IMG_0318-0.jpg) 有 Server Push 的 HTTP/2 資源加載流 還有,將內聯資源換成 Server Push 的好處還有很多,可以被緩存、被多個頁面共用、和其它資源一起多路復用,還可以享受服務器端指定的優先級權重和次序(如圖)。 [![](https://box.kancloud.cn/2015-12-18_56740bdd2dfb0.jpg)](http://www.bokeyy.com/wp-content/uploads/2015/12/exportfile-2.jpg) Server Push 中,每個資源(每個資源都是一個 steam )都可以有權重和優先次序 作為一個前端工程師,我認為 HTTP/2 的 Server Push 特性解決了 HTTP/1.x 的無腦順序加載資源,導致前端不得不為了預加載、首屏時間、省流量延遲加載等問題,用有限的標簽和內聯 JavaScript 腳本的方式去彌補的這個問題。由于 Server Push 觸發的時機遠早于內聯 JavaScript Loader ,而且從 HTTP 協議等語義上定義了資源優先權重和 先后次序,允許客戶端啟動或暫停 Server Push,有望從根本上讓加載時機和次序的控制變得既高效又容易。雖然 Server Push 不會暴露接口給 JavaScript ,但是可以和 Sever Sent Event 協同合作([參考文獻](https://www.igvita.com/2013/06/12/innovating-with-http-2.0-server-push/))。 [![](https://box.kancloud.cn/2015-12-18_56740bde29c68.jpg)](http://www.bokeyy.com/wp-content/uploads/2015/12/CNYFaJlUkAA7oS9.jpg) HTTP/2 Server Push 的實測效果
                  <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>

                              哎呀哎呀视频在线观看