女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>通訊/手機編程>

實踐調研iOS HTTP2.0的網絡性能優化效果

大小:0.3 MB 人氣: 2017-09-25 需要積分:1

  前面的文章也提到了目前的移動端網絡常見性能問題,以及對應的優化策略,如果把HTTP1.1 替換為 HTTP2.0,可以說是網絡性能優化的一步大棋。這幾天對 iOS HTTP2.0 進行了簡單的調研、測試,在此做個簡單的總結

  本文的大概思路是介紹 HTTP1.1 的弊端、HTTP2.0 的優勢、HTTP2.0 的協商機制、iOS 客戶端如何接入 HTTP2.0,以及如何對其進行調試。主要還是加深記憶、方便后期查閱,文末的資料相比本文或許是更有價值的。

  HTTP 1.1

  雖然 HTTP1.1 默認是開啟 Keep-Alive 長連接的,一定程度上彌補了HTTP1.0每次請求都要創建連接的缺點,但是依然存在 head of line blocking,如果出現一個較差的網絡請求,會影響后續的網絡請求。為什么呢?如果你發出1、2、3 三個網絡請求,那么 Response 的順序 2、3 要在第一個網絡請求之后,以此類推

  針對同一域名,在請求較多的情況下,HTTP1.1 會開辟多個連接,據說瀏覽器一般是6-8 個,較多連接也會導致延遲增大,資源消耗等問題

  HTTP1.1 不安全,可能存在被篡改、被竊聽、被偽裝等問題。當然,前陣子 Apple 推廣 HTTPS 的時候,相信很多人已經接入 HTTPS

  HTTP 的頭部沒有壓縮,header 的大小也是傳輸的負擔,帶來更多的流量消耗和傳輸延遲。并且很多 header 是相同的,重復傳輸是沒有必要的。

  服務端無法主動推送資源到客戶端

  HTTP1.1的格式是文本格式,基于文本做一些擴展、優化相對比較困難,但是文本格式易于閱讀和調試,但HTTPS之后,也變成二進制格式了,這個優勢也不復存在

  HTTP 2.0

  在 HTTP2.0中,上面的問題幾乎都不存在了。HTTP2.0 的設計來源于 Google 的 SPDY 協議,如果對 SPDY 協議不了解的話,也可以先對 SPDY 進行了解,不過這不影響繼續閱讀本文

  HTTP 2.0 使用新的二進制格式:基本的協議單位是幀,每個幀都有不同的類型和用途,規范中定義了10種不同的幀。例如,報頭(HEADERS)和數據(DATA)幀組成了基本的HTTP 請求和響應;其他幀例如 設置(SETTINGS),窗口更新(WINDOW_UPDATE), 和推送承諾(PUSH_PROMISE)是用來實現HTTP/2的其他功能。那些請求和響應的幀數據通過流來進行數據交換。新的二進制格式是流量控制、優先級、server push等功能的基礎

  流(Stream):一個Stream是包含一條或多條信息、ID和優先級的雙向通道

  消息(Message):消息由幀組成

  幀(Frame):幀有不同的類型,并且是混合的。他們通過stream id被重新組裝進消息中

  實踐調研iOS HTTP2.0的網絡性能優化效果

  多路復用:也就是連接共享,剛才說到 HTTP1.1的 head of line blocking,那么在多路復用的情況下,blocking 已經不存在了。每個連接中 可以包含多個流,而每個流中交錯包含著來自兩端的幀。也就是說同一個連接中是來自不同流的數據包混合在一起,如下圖所示,每一塊代表幀,而相同顏色塊來自同一個流,每個流都有自己的 ID,在接收端會根據 ID 進行重裝組合,就是通過這樣一種方式來實現多路復用。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?