找出從網路載入的資源

瀏覽器開發人員工具中的「網路」面板可協助您識別正在載入的資源,以及載入的時間。在「Network」(網路) 面板中,每個資料列都會對應至網頁應用程式載入的特定網址。

Chrome 開發人員工具的網路面板。

瞭解載入內容

為網頁應用程式擬定合適的快取策略時,需要處理要載入的確切「內容」。建構可靠的網頁應用程式時,網路可能會受各種黑暗勢力影響。如果您想在應用程式中因應網路的安全漏洞,必須先瞭解這些安全漏洞。

您可能認為自己已經很清楚網頁應用程式載入哪些內容。如果您只是使用少量的靜態 HTML、JavaScript、CSS 和圖片檔,可能會發生這種情況。不過,一旦開始混合使用內容傳遞網路代管的第三方資源,並利用動態 API 要求和伺服器產生的回應,就能快速地做出混亂。

舉例來說,對少數小型 CSS 檔案來說,這種快取策略可能不適用於數百張圖片。

瞭解何時載入

整體載入圖片的另一個部分是「所有內容都載入後」

有些向網路發出的要求 (例如初始 HTML 的導覽要求) 會在使用者造訪指定網址時無條件發出。這類 HTML 可能含有硬式編碼參照重要 CSS 或 JavaScript 檔案,這類檔案也必須載入才能顯示互動式網頁。這些要求全都位於您的重要載入路徑中。您需要積極快取快取,才能穩定可靠。

其他資源 (例如 API 要求或延遲載入的資產) 可能要等到所有初始載入作業完成後,才能開始載入。如果這些要求只是在發生特定使用者互動序列後發生,則對於同一網頁的多次造訪,系統最終可能會要求一組完全不同的資源。對於標示為位於重要載入路徑之外的內容,通常較不積極的快取策略。

您可以透過「名稱」和「類型」欄瞭解

「名稱和類型」欄有助於瞭解正在載入的「內容」。上述範例中「正在載入哪些內容?」的答案是共有四個網址,每個網址都代表一種不重複的內容。

Chrome 開發人員工具的網路面板顯示正在載入四個檔案。

名稱代表瀏覽器要求的網址,但您會看到網址路徑的最後一部分。舉例來說,如果已載入 https://example.com/main.css,則您只會在「Name」(名稱) 下方看到 main.css

網址路徑的最後幾個字元在句號之後 (例如「css」),稱為網址的副檔名。網址的擴充功能通常會指出要求的資源類型,並直接對應至「類型」欄顯示的資訊。例如,v2.html 是文件,main.css 則是樣式表。

「刊登序列」欄有助您瞭解

從頂端開始檢查「瀑布圖」欄,並依序向下查看。每個長條的長度代表載入各項資源的總時間。要如何分辨出要求是重要載入路徑的一部分,還是動態觸發的要求,在頁面初始載入完成後仍持續發出要求?

刊登序列中的第一個要求一律是針對 HTML 文件,例如 v2.html。根據 HTML 文件參照的圖片、指令碼和樣式,所有後續要求都會從這項初始導覽要求中流出 (例如刊登序列!)。

Chrome 開發人員工具的瀑布視圖。

刊登序列顯示 v2.html 完成載入後,其參照的資產要求 (也稱為「子資源」) 就會立即開始。瀏覽器可同時要求多個子資源,這以 main.csslogo.svg 的 Waterfall 資料欄中的重疊長條表示。最後,您可以從螢幕截圖中看到 main.js 開始在最後載入,另外三個網址也已經完成載入。