概覽#
Network panel 詳細記錄每一筆請求和回應,除了用來檢查單次 Request 是否完成,更重要的是在所有 Network log 上做搜尋、過濾、分析,搭配介面設定整理出方便閱讀的視角。
Network 面板由上方工具列與下方 Network log 列表組成,預設會顯示中間的 Overview,將每個請求的時間關係視覺化。
在 Overview 中可以看到:
- 藍色標示的
DOMContentLoaded事件時間線。 - 橘(紅)色標示的
load事件時間線。 - 下方資訊列:請求總數、實際傳輸量、所有資源的合計大小,以及總花費時間。
只要 DevTools 開著就會自動記錄 Network log,想完整觀察一次頁面的請求只需要重整。預設會以請求開始時間排序。
重整選項#
按住或右鍵點擊重整按鈕(須開啟 DevTools)會看到更多選項:
- Hard Reload:忽略快取重整,DevTools 關閉時也能透過快捷鍵
Shift+Command+R使用。 - Empty Cache and Hard Reload:先清快取,再 Hard Reload。
兩者的差別在於頁面載入後可能還會透過 JavaScript 動態請求 XHR/Fetch 資源;只 Hard Reload 不清快取的話,這些動態請求仍可能命中快取。
工具列#
工具列大多是功能開關,常用項目:
- Record network log:紅色亮起時才會錄製,預設開啟,重整時自動開啟。
- Clear:清空 Network log。
- Filter:開關過濾條件區,有套用條件時圖示為紅色。
- Search:按
Command+F或放大鏡開啟左側搜尋面板。
Network log 的 Filter 與 Search 詳細用法將在下一章說明。
- Preserve log:跳轉或重整時保留紀錄,適合連續操作流程的觀察。
- Disable cache:DevTools 開啟時關閉快取,模擬初次造訪的使用者。
- Throttling:限制網速,例如 Slow 3G 用來重現低網速問題;也可以選擇 Offline 來測試 ServiceWorker 攔截、離線瀏覽。
- Import/Export HAR file:HAR (HTTP Archive) 是分析網頁效能的標準格式,可匯出目前 Network log 或匯入他人提供的 HAR 檔來分析。
HAR (HTTP Archive) 不限於 Chrome,Firefox、Safari 與線上的 HAR Analyzer 都能解析。分析時建議使用無痕模式,避免 ServiceWorker、Extension 干擾。
設定(齒輪選單)#
工具列右側的小齒輪會展開四個設定,多半在針對特定問題時才會調整。
Use large request rows#
切到寬版列表可以看到更多資訊。Chrome 75 之後,原本只在寬版才看得到的「未壓縮檔案大小」也能在窄版透過 Hover 行顯示。
範例中可以看到原始大小 1.2 MB 的檔案,網路實際傳輸量只有 377 kB。常見的壓縮格式包括
gzip、deflate、Brotli。請求端用accept-encodingHeader 表達支援格式,回應端用content-encoding標示實際採用的格式。
Group by frame#
啟用後會把同一個 iframe 來源的 Network log 收合在一起。Console 的 Context 選單可以看到目前有哪些 frame,也能用:
console.log(Array.from(window.frames));不過受同源政策限制,跨 Domain 的 frame 仍無法直接存取。
Show overview#
預設開啟,與 Waterfall 同樣是時間關係視覺化,會動態調整時間軸顯示從錄製開始到當前的所有請求。
Capture screenshots#
開啟後重整會逐張截下頁面載入過程,Hover 截圖時 Overview 會出現一條黃色時間線。雙擊放大、點擊則會隱藏該時間之後的 Network log。
Drawer#
任一面板下按 ESC 都能打開 Drawer,與 Network 相關的有:
Network conditions#
方便在其他面板也能調整 Network 設定,提供:
- Disable cache。
- Network throttling。
- User agent:可以自訂 User agent,模擬不同作業系統或瀏覽器型號。某些 Endpoint 會因 User agent 回傳不同的內容,例如為舊瀏覽器補 Polyfill 或阻擋爬蟲。
Request blocking#
可輸入 URL pattern 模擬特定資源無法取得的情境,方便確認頁面在資源缺失時的行為。
小結#
本章先把 Network 面板的設定面爬過一輪,下一章會進入 Network log 的篩選、排序、搜尋技巧,把海量請求整理成可分析的清單。