我們這裡以 **的地球載入為例分析鏈結復用情況。先介紹下這個**的左右兩幅,這裡先已左邊的http1.1載入的分析,暫時不考慮http1.1和http2.0的對比,後續會介紹。這個頁面中的地球是通過369個小圖拼接成乙個完整的地球圖,頁面中左邊和右邊會分別請求369張。通過下圖可知頁面中發起了730個請求數,按倒數第二列的connection id排序,手動數下鏈結數為15個,通過實際頁面分析可知,多個http請求實際建立的鏈結數明顯少於請求數,多個connection是復用了同乙個鏈結。
通過查詢資料了解下面幾個概念:
request/response 的sent、watting以及download 如同字面意思了解即可。
下圖中獲取地球中的connection id為13867841的鏈結,檢視第一次的鏈結為獲取頁面1_demo_fame.html,後面載入部分是復用的這個鏈結。左邊為第乙個請求鏈結,存在connection初始化時間和ssl驗證時間,可以看到建立鏈結的時間為initial的1.83s+ssl的1.83s;載入復用的這個鏈結中沒有initial和ssl時間,因此復用的80多個鏈結中節省了建立連線的3.66s時間。(dns解析時間快取暫不算在鏈結復用的優化內)
多個鏈結併發請求可通過鏈結復用來節省鏈結初始時間,然後當請求數較多,資源較大時,還是會存在請求超時問題。伺服器開啟http2後可對鏈結頭部進行壓縮,以及多路復用等方式有效優化資源載入速率。具體http2的優勢對比可網上自行查詢資料。開啟http2需要openssl1.0.2以上版本和nginx1.9以上版本,新增模組with-http_v2_module,在伺服器中檢視nginx版本,在原有的configure中新增with-http_v2_module模組重新編譯,替換公升級nginx中sbin內的檔案。可用檢測**是否開啟了http2。還是以 **對比下http1.1和http2的資源載入時間。
MPTCP 原始碼分析 一 MPTCP的三次握手
簡述 mptcp依然按照正常的tcp進行三次握手,只是在握手過程中增加了mptcp特有的資訊。建立過程 三次握手過程如下圖所示 左邊客戶端傳送的第乙個syn包攜帶有客戶端自身的key,右邊傳送syn ack的時候攜帶了自身的key,而最後左邊的客戶端傳送最後乙個ack的時候攜帶著雙方的key。mpt...
TCP的三次握手及為什麼要有三次握手
tcp有6種標示位,即位碼,syn synchronous建立聯機 ack acknowledgement 確認 psh push 傳送 fin finish 結束 rst reset 重置 urg urgent緊急 sequence number 順序號 acknowledge number 確認...
記錄一次vue的三個頁面的復用
這次依舊分到了乙個模組,從前端到後台的,於是借鑑了他們的寫法。好了,上 1.查詢頁面 1.1分頁查詢的展示 1.1.1先定義好要展示的字段 以json格式定義,繫結資料時即可直接引用 1.1.2通過函式,像後台傳送乙個 http請求,讓其在init函式執行,就可以初始化執行。注意的是,把當前頁和每頁...