抓包工具 -httpwatch

#囉嗦兩句

幾乎天天都在使用這個工具相似的功能,沒想過把它寫下來。6點左右醒來,沒什麼事,想起來昨晚翻書隨機翻到了前端性能測試工具這一章,入眼的第一個詞是httpwatch,我就網上翻翻,想了想,大概有了個框架,留下這篇博客。html

 

#httpwatch是啥?

這是個插件,是個網頁分析工具,是我們常說的抓包工具。前端

 

#httpwatch能幹啥?有啥用?

)網頁摘要cookie管理web

)緩存管理json

)消息發送/接受 瀏覽器

)字符查詢緩存

)post數據安全

)目錄管理服務器

)報告輸出cookie

 

#去哪裏下載?

官網最安全,http://www.httpwatch.com,不想找證書,因此我下了個基礎版的。網絡

 

 

 

#安裝

安裝一個工具的時候,須要瞭解這個工具對系統的要求,遇到問題了也多了些查找的方向

這個工具不大,20多兆,下載好了就直接傻瓜式安裝。

 

#邁出第一步,怎麼打開?

https://help.httpwatch.com/gettingstarted.html  這裏說的直觀清晰,又有圖

 

#有哪些功能,怎麼用?

#功能1:User Interface,這是這個工具的重點,核心部分

#ToolBar

#Record---點紅色的【Record】 按鈕,輸入網址,回車,這樣就開始抓數據了。

#Stop---中止錄製

#Clear---清除以前的記錄

#View---有下拉菜單,裏面提供一些功能,看字面去配置

#Summary---- 有個summary window

#Filter---能夠根據content type過濾

#Save

#Print

#Tools

#License

 

#Requesst Grid

說說下面標註黃色的這幾列

 

Data Columns

這是默認顯示的columns,能夠經過Select Columns進行調整

把鼠標放在想查的列上,會浮出一個窗口,這裏面寫的好清楚

 

Started

開始記錄URL的起始時間,在View裏面能夠設置成Local或者GMC時間

 

Time

從發出請求到返回response的時間

 

! (Warnings)

在錄製請求的時候可能發生的問題,可能有問題的請求會有「」!「」顯示

 

Sent

請求發送的總字節,(包括header和post data)

 

Received

系統響應返回response時所接受的字節

--status code=200,接收的字節size包括 header和content

--status code=304,接收的字節size是 header(不包括content)

--(Cache),這個size就是0,沒發送請求到服務器

 

Method

請求方法,Get,Post,Put,Detele等

 

Result

顯示request結果,status code :

--200: OK,

--403:permission denied,

--304 '(Cache)':304狀態碼或許不該該認爲是一種錯誤,而是對客戶端有緩存狀況下服務端的一種響應,'(Cache)'會顯示在這列

-- 'Aborted' :在HTTP operation 完成以前,取消操做,好比正在下載圖片的時候點擊連接到另外一個頁面

 

Type

圖標顯示下載的資源類型 

 

URL

請求連接

 

#Request View

 

 Request Overview 共有下面幾個tab,細節請參考附錄Request Overview

 

 

#Summary View

Summary review 顯示一個頁面或者一組請求的概要信息

細節參考附錄Summary Review

 

 

 

#功能2:查找功能

 


 細節功能都在這個連接裏 https://help.httpwatch.com/find_dialog.html

 

 

#功能3:Filter功能

 

 

 

#功能4:select columns

想查看哪些列,不想要哪些列,自由選擇

 

 

 

 

 

#功能5:配置warnings

 

#功能6:配置自動錄製

 

#功能7:Configuring Content Editors

 

#功能8:Silent Mode

 

 

 

# 附錄

#附錄Request View

這塊記錄了每一個請求的詳細信息,以下圖

 

 1)Overview

  Display URL:表示請求的URL;

  Started At:表示該請求開始的時間;

  Submit Form:表示表單被提交到URL,只有POST操做時纔會有該項;

  Connecte:表示TCP鏈接操做;

  HTTP Request:表示一個請求被髮出去;

  HTTP Response:表示一個應答被收回;

  Read Cache:表示該次請求是從cache中讀取應答消息

 

2)TimeChart

https://help.httpwatch.com/time_chart.html

  一次完整的請求應答過程須要經歷的時間片斷以下:Blocked->DNS Lookup->Connect ->Send ->Wait ->Receive 

各個時間片斷定義以下:

 

簡單翻譯過來(從別人那裏粘的)

  Blocked(阻塞):阻塞的時間主要包括預處理時間(如緩存查找)和網絡排隊等待時間,致使阻塞最主要緣由是下載頁面中的圖片;

  DNS Lookup(域名解釋):域名解釋時間主要是將主機名(如www.google.com)轉化爲相應的IP地址(216.239.59.99)的時間,在訪問URL地址時,地址自己不能被直接訪問,須要將它對應爲相應的IP地址才能訪問;

  Connect(鏈接):鏈接時間是指與web服務器(或代理服務器)創建起TCP鏈接須要的時間,一個安全的HTTPS鏈接應該包含SSL握手的過程,讓系統處於一種保持鏈接的狀態,能夠節約重複建立TCP鏈接的時間

  Send(發送):發送時間是指從客戶端發送HTTP請求到服務器所花費的時間,而且發送數據大小會影響發送的時間,如上傳文件花費的時間就比較長;

  Wait(等待):等待時間是指服務器響應請求的時間,這個值包括網絡延遲和服務器處理請求所花費的時間;

  Receive(接收):接收時間是指服務器返回數據到客戶端所花費的時間,這個時間受所返回消息內容大小、網絡帶寬和HTTP壓縮比的影響;

  Cache Read(讀cache):讀緩存時間是指從瀏覽器緩存中讀取內容的時間 

 

3)Headers

 Headers Sent的內容以下:

  (Request-Line):包括HTTP提交請求方法、HTTP版本和URL子路徑;

  Accept:可接受的文件類型;

  Accept-Encoding:可接受的純文本以外的內容編碼的類型;

  Accept-Language:可接受的返回數據的語言種類;

  Connection:指定該次請求迴應結束後,如何處理鏈接;

  Cache-Control:指定請求和響應遵循的緩存機制;

  Location:用於重定向接收者到一個新URL地址;

  Host:請求鏈接的主機名;

Headers Received的內容以下:

  (Status-Line):包括HTTP請求的狀態碼和HTTP版本信息; 

  Connection:指定該次請求迴應結束後,如何處理鏈接;

  Cache-Control:指定請求和響應遵循的緩存機制;

  Content-Language:內容數據的語言種類;

  Content-Length:傳輸的內容長度;

  Content-Type:內容數據的類型(Mini Type);

  Last-Modified:服務器上保存內容的最後修訂時間;

  Expires:內容數據被緩存的過時時間;

 

4)Cookies

   Cookie Name:cookie的名稱;

  Direction:代表該cookie是由客戶端發送到服務器的仍是從服務器接收的;

  Value:cookie的內容;

  Path:該cookie所在站點的路徑;

  Domain:顯示該cookie所屬的域名或主機名;

  Expires:指該cookie失效時間,當瀏覽器關閉時該cookie值將被刪除;

 

5)Cache

   URL in cache?:該項內容是否寫入瀏覽器緩存 ;

  Expires:cache失效日期和時間;

  Last Modification:當cache內容被存儲或更新時,那麼更改日期將會修改成最近的日期;

  Last Cache Update:cache內容被更新的最近時間;

  Last Access:最近一次讀cache的時間;

  ETag:用來匹配服務器上的實體,使用的方式爲模糊匹配;

  Hit Count:讀cache內容的次數;

 

6)Query String

 

 Query String是經過URL來傳遞參數的一種方式,格式一般爲:...?name1=value1&name2=value2&...

  Query String內容中能夠顯示當前URL中全部的參數名及對應的值,圖7所對應的URL以下:

http://ir3.mail.163.com/get.do?prod=wmail_lbp&ver=1&uid=****@163.com&domain=163.com&mobUser=0&callback=themeHandler.callback&rnd=0.639472691290614

 

7)POST Data

 顯示以POST方式請求的數據信息,其中Mime Type:application/json,是指POST方式提交數據的編碼方式

 

 

8)Content

顯示接收到的HTTP響應信息,包括MIME的類型,總的字節數和這些內容是否從服務中下載或從緩存中讀取,若是對HTTP進行了壓縮,還應該顯示壓縮的方式、壓縮後的文件大小及壓縮比

 

 9)Stream

主要是顯示客戶端發送的內容和服務器返回的內容。左邊顯示的是客戶端發送的內容,顯示了數據流大小和發送到哪一個服務器,如圖所示,發送的字節數爲2173個字節,服務器的IP地址爲220.181.12.208,端口號爲80。右邊顯示的是服務器返回的內容,包括返回的字節數和返回到客戶端的IP地址。

 

 (Stream的內容)

左邊爲客戶端向服務器提交的請求,內容以下:

  GET /entry/cgi/ntesdoor?df=loginjustnowmail163&funcid=loginjustnow&iframe=1 HTTP/1.1:GET表示請求方式,‘/’表示URI(uniform resource identifier,是web上訪問可用資源的一種通用資源標識符),HTTP/1.1表示使用的協議和協議版本;

  Accept:表示接受返回數據的類型, */*表示容許接受全部的數據類型;

  Referer: 表示一個URL地址(如http://mail.163.com/),表示從該地址發出的請求;

  Accept-Language: 表示接受返回數據的語言,如zh-CN表示接受返回數據語言爲中文;

  Accept-Encoding: 表示瀏覽器可接受除純文本外的內容編碼的類型,如gzip壓縮, deflate壓縮內容;

  User-Agent:標識客戶端瀏覽器類型及相關版本信息;

  Host:主機標識地址;

  Connection: 表示鏈接狀態,如Keep-Alive表示保持TCP的鏈接狀態;

右邊的內容爲服務器向客戶端返回的數據內容,以下:

  HTTP/1.1 200 OK:表示協議、協議版本、請求的狀態;

  Date:表示發送HTTP消息的日期;

  Expires:表示實體的有效期;

  Content-Type:表示服務器返回請求類型,如text/html;

  Last-Modified:表示被請求資源上次修改的日期和時間;

  Age:表示HTTP接受請求操做響應的緩存時間;

 

10)!Warnings

顯示了單個請求出現警告的內容,顯示的內容包括警告ID、警告類型和警告的詳細描述,關於警告類型主要3種:performance(性能)、security(安全)和Functional(功能)

 

#附錄Summary View

ummary能夠顯示一個頁面或一組頁面請求的概要信息

 

 (summary-network的內容)

  Elapsed Time:表示從第一個請求開始到當前頁面全部請求都完成所消耗的時間,單位爲s,顯然該值越小越好;

  Network Round Trips:表示提交請求到請求信息返回共經歷的web服務器的次數,一樣該值越小越好;

  Downloaded Data:下載的字節數,單位爲字節,一樣該值越小越好;

  Uploaded Data:表示發送到服務器端的數據,單位爲字節數,一樣該值越小越好;

  HTTP Compression Savings:表示HTTP數據壓縮後,減小的字節數;

  DNS Lookups:表示將域名解析爲對應的IP地址的次數(如將域名www.google.com解析爲72.14.221.103);

  TCP Connects:表示創建TCP鏈接的次數,這項值用於表示服務器保持鏈接的能力,一樣該值越小越好;

  Total HTTPS overhead:在全部的提交請求中有多少須要加密的請求;

  Average HTTPS overhead per request:平均每一個請求的HTTP值,若是這個值太高極可能是由於服務器不正確引發的。

page events的內容如圖13所示,表示頁面請求的事件以及每一個事件對應所消耗的時間,關於時間塊的組成在request view中的time chart部分有詳細的介紹

 

 

timings的內容如圖所示,表示URL請求各階段所消耗的時間,同上

 

 

status codes的內容如圖15所示,主要顯示客戶端提交請求後,服務器返回的狀態碼

 

 

 #參考

https://help.httpwatch.com

https://www.cnblogs.com/benpao1314/p/8508734.html

相關文章
相關標籤/搜索