1. 程式人生 > >看懂 Fiddler 的瀑布圖

看懂 Fiddler 的瀑布圖

提醒:本文最後更新於 1954 天前,文中所描述的資訊可能已發生改變,請謹慎使用。

最近準備給組內的新同學們分享下 Fiddler 這枚神器,可以講的地方太多,我打算把一節課講不完的內容寫在部落格上,大家可以隨便看看。今天先介紹下 Fiddler 的瀑布圖。

每個網路請求都會經歷域名解析、建立連線、傳送請求、接受資料等階段。把多個請求以時間作為 X 軸,用圖表的形式展現出來,就形成了瀑布圖。在 Fiddler 中,只要在左側選中一些請求,右側選擇“Timeline”標籤,就可以看到這些請求的瀑布圖,如下(點選檢視大圖):

fiddler-waterfall

看到這張圖,你是否可以回答這些問題:

  1. 圖示的 Y 軸上顯示的是簡化後的 URL。為什麼有些是綠色的,有些是黑色的?
  2. 為什麼第一個請求用陰影線來表示,其它請求卻都是實心的?
  3. 請求條的不同顏色分別代表什麼?
  4. 每個請求中的黑色豎線表示什麼?
  5. 請求後面的圖示(如閃電和軟盤)代表了什麼?
  6. 每個請求前面兩個小圓圈是什麼,為什麼有的是紅色,有的是綠色?

如果其中一個或者多個你不知道答案也沒關係,下面將一一揭曉。

1、綠色的請求表示這是一個“有條件的請求”。HTTP 協議定義了 5 個條件請求頭部,最常見的兩個是“If-Modified-Since”和“If-None-Match”。伺服器根據這兩個頭部來驗證本地快取是否過期,如果過期則正常返回資源的最新版本;否則僅返回 304 Not Modified,瀏覽器繼續使用本地快取。包含條件請求頭部的請求用綠色顯示,否則用黑色。

2、有陰影線的請求是緩衝模式下的請求,實心的是流模式下的請求。Fiddler 提供了緩衝(Buffering)和流(Streaming)兩種抓包模式:緩衝模式下,Fiddler 會在響應完成時才將資料返回給應用程式(通常是瀏覽器),這種模式下可以控制響應,方便地修改響應內容;流模式下,Fiddler 會實時返回響應資料給瀏覽器,但沒辦法控制響應。一般使用流模式,瀑布圖會更真實一些。這兩種模式可以通過 Fiddler 的工具欄選擇。特別的,通過 Fiddler 的“AutoResponder”功能返回的響應,只能是緩衝模式。

3、請求條的不同顏色對應著不同型別的響應,根據響應頭的 MIME Type 來歸類。如淺綠色表示圖片型別的響應;深綠色是 JavaScript;紫色是 CSS;其它都是藍色。

4、請求中的黑色豎線,表示的是瀏覽器收到服務端響應的第一個位元組這一時刻。這個時間受 DNS 解析、建立連線、傳送請求、等待服務端響應等步驟的影響。

5、請求條後面的圖標表示響應的某些特徵。如軟盤圖標表示這個響應正文從本地獲得,也就是說服務端返回了 304;閃電錶示這是 Fiddler 的“AutoResponder”的響應;向下的箭頭表示響應是 302,需要重定向;紅色感嘆號說明這個請求有錯誤發生(狀態碼是 4XX 或 5XX)。

特別的,如果請求條後面有一個紅色的X,說明服務端響應完這個請求之後,斷開了連線。出現這種情況一般有兩種可能:HTTP/1.0 的響應中沒有 Connection: Keep-Alive;或者是 HTTP/1.1 的響應中包含了 Connection: close。使用持久連線可以省去建立連線的開銷,也可以減小 TCP 慢啟動和其它擁塞控制機制帶來的影響,總之是好處多多。

6、請求前面的紅色圓圈表示這個連線是新建的,綠色表示是複用的。上面的圓圈表示的是瀏覽器到 Fiddler 的連線,下面的圓圈是 Fiddler 到服務端的連線。

現在,再看到 Fiddler 的瀑布圖就一目瞭然了吧。最後再來兩張瀑布圖自己練習下:

在瀏覽器輸入 imququ.com 的請求

重新整理後的請求

--EOF--

提醒:本文最後更新於 1954 天前,文中所描述的資訊可能已發生改變,請謹慎使用。

相關推薦

Fiddler瀑布

提醒:本文最後更新於 1954 天前,文中所描述的資訊可能已發生改變,請謹慎使用。 最近準備給組內的新同學們分享下 Fiddler 這枚神器,可以講的地方太多,我打算把一節課講不完的內容寫在部落格上,大家可以隨便看看。今天先介紹下 Fiddler 的瀑布圖。 每個網路請求都會經歷域名解析、建立連線、

UML類

spl oci reg 圖片 sso 線表 常識 參數 title 這裏不會將UML的各種元素都提到,我只想講講類圖中各個類之間的關系;能看懂類圖中各個類之間的線條、箭頭代表什麽意思後,也就足夠應對日常的工作和交流; 同時,我們應該能將類圖所表達的含義和最終的代碼對應起來;

五分鐘UML類與類的關系詳解

故障 rose href 如果 rgb lan 繼承關系 模型 title 在畫類圖的時候,理清類和類之間的關系是重點。類的關系有泛化(Generalization)、實現(Realization)、依賴(Dependency)和關聯(Association)。其中關聯又分

設計模式之UML類

另一個 語言 表示 first 狀態圖 兩種 天然 公司 ocs 什麽是UML:   UML(統一建模語言)是當今軟件設計的標準圖標式語言。對於一個軟件系統而言,UML語言具有以下的功能:可視化功能、說明功能、建造功能和建文檔功能。   UML都包括什麽類型

如何k線:K線詳細分析圖解

K線圖(Candlestick chart)源處於日本德川幕府時代,它是被當時日本的米市商人用來記錄米市的行情與價格波動,因為其獨到的標畫方式而被引入到股市及期貨市場。所有的投資者都可以根據K線的實體的陰陽,上下影線的長短等,來判斷多空雙方力量的對比和後市的走向。 一、

電平漸變 教你微控制器時序

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

旅行必備的地圖,三分鐘方點陣~

旅行是非常美好的一件事情,我們在旅行中可以收穫很多。為了使旅行更完美,地圖是必不可少的一樣東西。 生活中的我們,記清一個路線大都需要一個記憶時間段來完善大腦對路線的記憶。 看不懂地圖的解決辦法是:先在自己熟悉的環境中,對照地圖找某個你知道的地方(反覆找你知道的不同地方

UML類和時序【轉載】

前言: 本文是在部落格上瀏覽了幾篇博文的基礎上進行的相應整理總結,感謝原創博主的無私分享。本文最後有附上原創博文地址,UML作為程式設計師的一個交流與規劃工具,我們還是要好好學習其中的約定和表示的: 看懂UML類圖和時序圖 這裡不會將UML的各種元素都提到

UML類和時序

本章所有圖形使用Enterprise Architect 9.2來畫,所有示例詳見根目錄下的design_patterns.EAP 從一個示例開始 請看以下這個類圖,類之間的關係是我們需要關注的: 車的類圖結構為<<abstract>>,表示車是一個抽象類;

五分鐘UML類與類的關係詳解

在畫類圖的時候,理清類和類之間的關係是重點。類的關係有泛化(Generalization)、實現(Realization)、依賴(

十張未來的大數據世界

cdb man class read get uwp 大數 社會 summary 摘要: 隨著互聯網雲時代的來臨,大數據與雲計算就像一個硬幣的正反兩面,勢必會影響到社會生活的方方面面,改變我們現有的規則和秩序。伴隨著大數據與雲計算產業的不斷發展,未來到底會變成什麽樣子?我們

一張開源許可協議,開源許可證GPL、BSD、MIT、Mozilla、Apache和LGPL的區別

軟件發布 csdn 合作 title ref 沒有 版本 簡單介紹 著名 開源許可證GPL、BSD、MIT、Mozilla、Apache和LGPL的區別 首先借用有心人士的一張相當直觀清晰的圖來劃分各種協議:開源許可證GPL、BSD、MIT、Mozilla、Apache和L

一張DNS域名解析全過程

能夠 title 設置 www 博文 忽略 配置 隨著 href DNS域名解析是互聯網上非常重要的一項服務,上網沖浪(還有人在用這個詞嗎?)伴隨著大量DNS服務來支撐,而對於網站運營來說,DNS域名解析的穩定可靠,意味著更多用戶的喜歡,更好的SEO效果和更大的訪問流量。我

4張讓你分布式架構從硬件到軟件

開發 基本 行處理 倉庫 tcp -1 管理 img 必須 對於分布式的架構相對很多開發者都是個高大上的項目,其實只要看得懂圖精通tcp通信、精通磁盤管理、精通內存管理、精通多線程與並行處理,精通事務(其實事務就是基於tcp通信層所擴展而來的MQ之類的一種IO消息模式而與)

雲計算是什麽意思?3張雲計算架構

虛擬機 雲計算 固態硬盤 雲計算是一種能夠通過網絡以便利的、按需付費的方式獲取IT資源包括網絡、服務器虛機、容器、存儲、平臺、應用和服務等並提高其可用性的模式這些資源來自一個共享的、可配置的資源池並能夠以最省力和無人幹預的方式獲取和釋放。雲計算第三次IT革命雲計算發展背景雲計算特征雲計算服務類型I

【轉載】一張“神單機/集群/熱備/磁盤陣列(RAID)

mpp bz2 wap 轉載 另一個 clu 提供服務 dsd otto 單機部署(stand-alone):只有一個飲水機提供服務,服務只部署一份 集群部署(cluster):有多個飲水機同時提供服務,服務冗余部署,每個冗余的服務都對外提供服務,一個服務掛掉時依然可

一張項目管理

進行 用戶需求 可能 交互 ces 進度 ref 交互設計 png 什麽是項目管理 項目是指一系列獨特的、復雜的並相互關聯的活動,這些活動有著一個明確的目標或目的,必須在特定的時間、預算、資源限定內,依據規範完成。項目管理是運用管理的知識、工具和技術於項目活動上,來達成解決

一張團隊管理

理論 描述 之間 lock 事物 blog 希望 .com strong 不想當將軍的士兵不是好士兵,我們每一個人,都希望在職場打怪升級,逐漸集齊管理者的技能包,成為揮斥方遒的那一位。 有一天,你會成為一個團隊的leader;或者一個部門的管理者。又或者,明天你就可

一張阿裏雲網絡產品[十一]雲托付

數據通信摘要: 雲托付(Cloud Hosting)是以阿裏雲的標準,提供給企業優質的機房托管資源、雲專線網絡以及增值服務,並與阿裏雲公有雲產品結合,為企業搭建混合雲提供基礎資源。 原文地址:http://click.aliyun.com/m/43963/ 識別以下二維碼,閱讀更多幹貨一張圖看懂阿裏雲網絡

一張阿裏雲網絡產品[十二]雲企業網

產品摘要: 阿裏雲致力於為用戶提供優質、高效、穩定的網絡傳輸環境,雲企業網(Cloud Enterprise Network)將提供一種能夠快速構建混合雲和分布式業務系統的全球網絡,幫助用戶打造一張具有企業級規模和通信能力的雲上網絡。 原文鏈接 閱讀更多幹貨好文,請關註掃描以下二維碼:一張圖看懂阿裏雲網絡產