天天看點

Chrome浏覽器Network面闆http請求時間分析

Chrome浏覽器開發者工具Network視窗下,可以檢視下載下傳各元件所需的具體時間

根據上表進行簡要分析——

Stalled(阻塞)

  浏覽器對同一個主機域名的并發連接配接數有限制,是以如果目前的連接配接數已經超過上限,那麼其餘請求就會被阻塞,等待新的可用連接配接;此外腳本也會阻塞其他元件的下載下傳;

  優化措施:

  1、将資源合理分布到多台主機上,可以提高并發數,但是增加并行下載下傳數量也會增大開銷,這取決于帶寬和CPU速度,過多的并行下載下傳會降低性能;

  2、腳本置于頁面底部;

DNS Lookup(域名解析)

  請求某域名下的資源,浏覽器需要先通過DNS解析器得到該域名伺服器的IP位址。在DNS查找完成之前,浏覽器不能從主機名那裡下載下傳到任何東西。

  1、利用DNS緩存(設定TTL時間);

  2、利用Connection:keep-alive特性建立持久連接配接,可以在目前連接配接上進行多個請求,無需再進行域名解析;

Initial connection(初始化連接配接)

  TCP建立連接配接的三次握手時間

SSL(包含于HTTPS連接配接中)

  http是超文本傳輸協定,以明文方式發送内容,不提供任何方式的資料加密,如果被不法分子截取浏覽器和伺服器之間的傳輸封包,會擷取其中的資訊。

  https 是安全套接字層超文本傳輸協定,就是在HTTP的基礎上加入了SSL協定,SSL依靠證書來驗證伺服器的身份,并為浏覽器和伺服器之間的通信加密。

  是以建立HTTPS連接配接的時間相當于三次握手的時間+SSL時間。

Request sent(發送請求)

  發送HTTP請求的時間(從第一個bit到最後一個bit)

  1、減少HTTP請求,可以使用CSS Sprites、内聯圖檔、合并腳本和樣式表等;

  2、對不常變化的元件添加長久的Expires頭(相當于設定久遠的過期時間),在後續的頁面浏覽中可以避免不必要的HTTP請求;

Waiting(等待響應)

  通常是耗費時間最長的。從發送請求到收到響應之間的空隙,會受到線路、伺服器距離等因素的影響。

  1、使用CDN,将使用者的通路指向距離最近的工作正常的緩存伺服器上,由緩存伺服器直接響應使用者請求,提高響應速度;

Content Download(下載下傳)

  下載下傳HTTP響應的時間(包含頭部和響應體)

  1、通過條件Get請求,對比If-Modified-Since和Last-Modified時間,确定是否使用緩存中的元件,伺服器會傳回“304 Not Modified”狀态碼,減小響應的大小;

  2、移除重複腳本,精簡和壓縮代碼,如借助自動化建構工具grunt、gulp等;

  3、壓縮響應内容,伺服器端啟用gzip壓縮,可以減少下載下傳時間;

繼續閱讀