目錄

簡介

HTTP存檔格式

推斷

收集HAR日誌

Google Chrome

Firefox

Internet Explorer

簡介

本檔案介紹收集HTTP檔案格式(HAR)記錄以從使用者端縮小範圍並疑難排解GUI相關問題的程式。還介紹了它們有用的原因以及如何從不同的瀏覽器收集檔案。

HTTP存檔格式

為什麼是哈爾？

當您通過Internet聯絡或使用軟體即服務(SaaS)時，訪問服務時可能會出現各種問題。為了縮小範圍和隔離問題，您需要瞭解客戶端和伺服器/服務端的互動。HAR日誌提供來自客戶端的互動。HAR日誌是一組獨特的捕獲，用於記錄並跟蹤瀏覽器與站點的互動。這組日誌使我們能夠很好地瞭解客戶端的情況，這反過來又加快了故障排除過程。

讓我們查詢幾種典型場景中的HAR日誌

- 對網頁呈現問題進行故障排除（如部分網頁未載入、頁面格式不正確或缺少部分網頁）

- 疑難排解效能問題（例如頁面載入時間過長或觸發事件時逾時）

HAR中有哪些內容？它有什麼作用？

HAR檔案以JSON格式儲存資訊；這使我們能夠更容易地用視覺輔助工具檢視資料。HAR檔案包含多個元件的計時資訊。根據Google的Understanding Resource Timing，日誌中存在幾個計時器。

停止/阻塞：請求在傳送之前等待的時間。它可能等待任何所述的排隊原因。此外，此時間包括代理協商所用的任何時間。

代理協商：與代理伺服器連線協商所用的時間。

DNS查詢：執行DNS查詢所用的時間。頁面上的每個新域都需要完整的往返才能執行DNS查詢。

初始連線/連線：建立連線（包括TCP握手/重試和協商SSL）所用的時間。

SSL:完成SSL握手所用的時間。

請求已傳送/正在傳送：發出網路請求所用的時間。通常只有幾分之一毫秒。

正在等待(TTFB):等待初始響應所花的時間，也稱為到達第一個位元組的時間。此時間除了捕獲伺服器傳送響應所用的時間外，還捕獲到伺服器的往返延遲。

內容下載/下載：接收響應資料所用的時間。

推斷

來自HAR日誌的這個計時資訊有助於縮小您首先檢視網路哪個部分。

- 如果您注意到網路上的延遲，您就會知道您應該針對網路的哪方面來排解疑難。

- 如果這是網頁呈現問題，您可以檢視「內容下載/下載」部分，以瞭解針對每個內容返回的請求和響應，並檢視是否存在任何錯誤或問題。

HAR日誌檔案在記事本中處於開啟狀態。下面是它外觀的一個小片段：

以下是從線上工具軟體中載入的檔案的預覽：

從這張圖中，您可以得到一個公平的想法，您在哪裡花費了大量時間，哪個元件花費的時間最長。

以下是從線上工具G-Suite上載入的文件預覽：

在這裡，您可以看到每個請求的計時器資訊。

收集HAR日誌

當您可以收集一組正常運行和非正常運行的HAR日誌進行比較時，該功能非常有助於排除故障。對於非工作頁面，最好收集多個HAR檔案，以便獲取所有元件的平均時間，並且檢視類似元件是否持續存在問題。

在收集HAR之前，建議您使用單個專用瀏覽會話，以強制瀏覽器下載所有資訊，而不使用任何已存在的快取資料。

任何瀏覽器的程式如下：

1. 開啟開發人員選項。

2. 確保您有線上選項，並且準備好捕獲互動。

3. 重新建立網頁問題。

4. 儲存捕獲。

5. 傳送儲存的檔案以進行進一步分析。

以下是從這些瀏覽器收集HRA日誌的過程：

Google Chrome

1.按一下F12，此時將開啟「開發人員」頁籤，如下圖所示。

2.按一下「Network（網路）」頁籤，如下圖所示。

3.選擇Preserve log，如下圖所示。

4.注意「網路」頁籤左上角的記錄按鈕。如果顏色為紅色，則表示捕獲已啟動。如果按鈕是黑色的，按一下黑色圓圈將顏色更改為紅色並開始在瀏覽器中記錄活動。

5.在捕獲運行期間重新建立問題，如圖所示。

6.重新建立問題後，按一下右鍵活動窗格中的任意行，然後選擇Save All as HAR with content（包含內容的HAR），如下圖所示。

7.儲存檔案並傳送該檔案進行分析。

Firefox

1.點選F12並開啟「開發人員」頁籤。「開發人員工具」(Developer Tools)視窗開啟，作為Firefox側面或底部的停靠面板。

2.按一下「Network（網路）」頁籤，如下圖所示。

3.確保選中「永久」日誌。

4.重現問題。

5.重新建立問題後，按一下右鍵活動面板，然後選擇Save all as HAR，如下圖所示。

6.儲存檔案並傳送進行分析。

Internet Explorer

1.點選F12。

2.確保您位於「網路」頁籤上。

3.確保「啟動配置檔案會話」呈灰色顯示（如果這是預設狀態，則表示捕獲正在運行）。

4.重現問題。

5.重新建立問題後，按一下Save圖示儲存日誌。

6.儲存檔案並傳送進行分析。