HttpWatch使用技巧

 

HttpWatch工具簡介-HttpWatch使用技巧(一)

一 概述:

HttpWatch強大的網頁數據分析工具.集成在Internet Explorer工具欄.包括網頁摘要.Cookies管理.緩存管理.消息頭髮送/接受.字符查詢.POST 數據和目錄管理功能.報告輸出 HttpWatch 是一款能夠收集並顯示頁頁深層信息的軟件。它不用代理服務器或一些複雜的網絡監控工具,就能夠在顯示網頁同時顯示網頁請求和迴應的日誌信息。甚至可以顯示瀏覽器緩存和IE之間的交換信息。集成在Internet Explorer工具欄。

二 安裝HttpWatch

略過^_^

三 基本功能介紹

啓動Httpwatch

從IE的“查看”—“瀏覽器欄”—“HttpWatch”啓動HttpWatch。如下圖所示:

以下是HttpWatch程序界面

以下用登錄我的郵箱mail.163.com例子來展示Httpwatch:

點擊“Record”後,在IE打開需要錄製的網址,mail.163.com,輸入用戶名,密碼後完成登錄操作

1. 3.1 Overview(概要)

表示選定某個信息顯示其概要信息

如上圖紅框所示:

URL: http://mimg.163.com/external/closea_d.js

Result:200

請求的URL是http://mimg.163.com/external/closea_d.js,返回的Htpp狀態代碼結果200,表示成功; 

Resync URL   Browser requested refresh if changed - http://mimg.163.com/external/closea_d.js

瀏覽器請求的URL

Started At      2008-Jan-04 09:21:09.422 (local time)

請求開始時間(實際記錄的是本機的時間)

Connect       Connect to IP address '218.107.55.86'

請求的網址的IP地址

Http Request   Unconditional request sent for http://mimg.163.com/external/closea_d.js

Http請求,當瀏覽器向Web服務器發出請求時,它向服務器傳遞了一個數據塊,也就是請求信息

Http Response Headers and content returned

Http響應,當瀏覽器接受到web服務器返回的信息時

2. 3.2 Header(報頭)

表示從Web服務器發送和接受的報頭信息;

http://g1a90.mail.163.com/a/p/main.htm?sid=UBDCcOJJDknBulMFzSJJipPzfROMNqHO

如上圖紅框所示:

Http請求頭髮送信息

Headers Sent                     value

Request-Line                     GET /external/closea_d.js HTTP/1.1

以上代碼中“GET”代表請求方法,“closea_d.js”表示URI,“HTTP/1.1代表協議和協議的版本。

Accept                            */*

指示能夠接受的返回數據的範圍, */*表示所有

Accept-Encoding                  gzip, deflate

Accept-Encoding表明了瀏覽器可接受的除了純文本之外的內容編碼的類型,比如gzip壓縮還是deflate壓縮內容。

Accept-Language                  zh-cn

表示能夠接受的返回數據的語言

Connection                       Keep-Alive

保持Tcp請求連接

備註:在HTTP工作開始之前,Web瀏覽器首先要通過網絡與Web服務器建立連接,該連接是通過TCP來完成的,該協議與IP協議共同構建Internet,即著名的TCP/IP協議族,因此Internet又被稱作是TCP/IP網絡。HTTP是比TCP更高層次的應用層協議,根據規則,只有低層協議建立之後才能,才能進行更層協議的連接,因此,首先要建立TCP連接,一般TCP連接的端口號是80

Cookie                   vjuids=-1b9063da8.1173d33f879.0.9aab8b85a459d; vjlast=1199406314; _ntes_nnid=a1e69963f40453af8a9ad171cc4cd8da,0|tech|; NTES_UFC=3000000100000000000000000000000000000000000000000000000000000000; Province=021; City=021; ntes_mail_firstpage=normal; NTES_SESS=68LUOUH9ewcCBFyN5OXZ_0qf._IOMCkFscaGYrooXpjtVF7r8Vx7jAzg7HGdWo00GQEn1ZmrZcX7FMAXnb052r8XOFZZYk.hN; NETEASE_SSN=mayingbao2002; NETEASE_ADV=11&23&1199409658752; 

Coremail=VDeAMrrrDFaTa%XCVwJiXXsRLSLkbLhZXXZGqPJkEXFKNt     

Cookie沒什麼說的就是客戶端記錄相關信息

Host                     mimg.163.com

請求連接的主機名稱’

Referer Http://g1a114.mail.163.com/a/p/main.htm?sid=XCVwJiXXsRLSLkbLhZXXZGqPJkEXFKNt    

包含一個URL,用戶從該URL代表的頁面出發訪問當前請求的頁面

User-Agent         Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)                                                                                    

客戶端標識瀏覽器類型

Http請求頭返回信息

Headers Received                                              Value

Status-Line                                                     Http/1.0 200 ok

表示Http服務端響應返回200 

Accept-Ranges                                               bytes

Http請求範圍的度量單位

Age                                                       117

表示Http接受到請求操作響應後的緩存時間

Cache-Control                                              max-age=3600

一個用於定義緩存指令的通用頭標

Connection                                               keep-alive

保持Tcp請求連接

Content-Type                                             application/x-javascript

標明發送或者接收的實體的MIME類型

Date                                                 Fri, 04 Jan 2008 01:12:26 GMT 

發送HTTP消息的日期

Etag                                              "10f470-734-b32eb00"

一種實體頭標,它向被髮送的資源分派一個唯一的標識符

Expires                                      Fri, 04 Jan 2008 02:12:26 GMT

指定實體的有效期

Last-Modified                                Fri, 04 Jan 2008 01:01:00 GMT

指定被請求資源上次被修改的日期和時間

Server                                      Apache

一種標明Web服務器軟件及其版本號的頭標

X-Cache                                    HIT from mimg68.nets.com     

表示你的 http request 是由 proxy server 回的

3. 3.3 Cookies

顯示Cookies信息

如上圖所示City=021,其實是我163郵箱中設置城市信息值,在Cookies中記錄爲021(代表上海這個城市)

備註:

什麼是cookie?Cookie是一種在客戶端保持HTTP狀態信息的技術,Cookie是在瀏覽器訪問WEB服務器的某個資源時,由WEB服務器在HTTP響應消息頭中附帶傳送給瀏覽器的一片數據,WEB服務器傳送給各個客戶端瀏覽器的數據是可以各不相同的。

瀏覽器可以決定是否保存這片數據,一旦WEB瀏覽器保存了這片數據,那麼它在以後每次訪問該WEB服務器時,都應在HTTP請求頭中將這片數據回傳給WEB服務器。

顯然,Cookie最先是由WEB服務器發出的,是否發送Cookie和發送的Cookie的具體內容,完全是由WEB服務器決定的。

Cookie在瀏覽器與WEB服務器之間傳送的過程如圖7.1所示。



4. 3.4 Cache(緩存)

顯示在請求完成前後的瀏覽器緩存裏URL地址欄裏的詳細信息(

就是打開一個網頁,網頁上的一些圖片啊之類的東西會被下載到本地的internet臨時文件夾,當你再次打開的時候,有可能就會不是去從網上打開網頁,而是直接從本地讀取。

5. 3.5 Query String(查詢字符串)

顯示查詢字符串被用在是傳遞參數url中

如下圖所示:

http://reg.yodao.com/setcookie.jsp?username=mayingbao2002&domain=yodao.com&loginCookie=uaLr3t2p5wKi_ku90vYy04gK1MamttMzYGFxdsppqrz3ZhjsWZ8jzDlVjmxEIpSSx2hn__w3ZsoBSFu6gKRZyRUdIgZYzVciX&clearPersistCookie=


如上面的紅框中顯示的mayingbao2002字符串,是存在於請求的URL傳遞的參

HttpWatch工具簡介-HttpWatch使用技巧(二)

2009-03-12 08:36

HttpWatch工具簡介-HttpWatch使用技巧(二)

6. 3.6 POST Data

顯示通過Post方式數據信息

以下是mail.163.com登錄過程中POST Data,如下圖所示:

https://reg.163.com/logins.jsp?type=1&url=http://fm163.163.com/coremail/fcg/ntesdoor2?lightweight%3D1%26verifycookie%3D1%26language%3D-1%26style%3D-1

上面的紅框:application/x-www-form-urlencoded表示,post方式默認提交數據編碼

備註:以下爲Post方式提交數據編碼幾種方式:

text/plain

以純文本的形式傳送

application/x-www-form-urlencoded

默認的編碼形式,即URL編碼形式

multipart/form-data

MIME編碼,上傳文件的表單必須選擇該

Mime Type指的是如text/html,text/xml等類型

MIME(Multipurpose Internet Email Extension),意爲多用途Internet郵件擴展,它是一種多用途網際郵件擴充協議,在1992年最早應用於電子郵件系統,但後來也應用到瀏覽器。服務器會將它們發送的多媒體數據的類型告訴瀏覽器,而通知手段就是說明該多媒體數據的MIME類型,從而讓瀏覽器知道接收到的信息哪些是MP3文件,哪些是JPEG文件等等。當服務器把把輸出結果傳送到瀏覽器上的時候,瀏覽器必須啓動適當的應用程序來處理這個輸出文檔。在HTTP中,MIME類型被定義在<head>、</head>部分的Content-Type中。

數據類型

MIME類型

超文本標記語言文本 .htm,.html文件

text/html(數據類別是text,種類是html,下同)

純文本,.txt文件

text/plain

RTF文本,.rtf文件

application/rtf

GIF圖形,.gif文件

image/gif

JPEG圖形,.jpeg, .jpg文件

image/jpeg

au聲音,.au文件

audio/basic

MIDI音樂,mid,.midi文件

audio/midi,audio/x-midi

RealAudio音樂,.ra, .ram文件

audio/x-pn-realaudio

MPEG,.mpg,.mpeg文件

video/mpeg

AVI,.avi文件

video/x-msvideo

GZIP,.gz文件

application/x-gzip

TAR,.tar文件

application/x-tar

如上圖紅圈所表示,可以看到POST Data 中的password和username數據;

備註:get方法和Post方法區別

GET方法

GET方法是默認的HTTP請求方法,我們日常用GET方法來提交表單數據,然而用GET方法提交的表單數據只經過了簡單的編碼,同時它將作爲URL的一部分向Web服務器發送,因此,如果使用GET方法來提交表單數據就存在着安全隱患上。例如

Http://127.0.0.1/login.jsp?Name=zhangshi&Age=30&Submit=%cc%E+%BD%BB

從上面的URL請求中,很容易就可以辯認出表單提交的內容。(?之後的內容)另外由於GET方法提交的數據是作爲URL請求的一部分所以提交的數據量不能太大

POST方法

POST方法是GET方法的一個替代方法,它主要是向Web服務器提交表單數據,尤其是大批量的數據。POST方法克服了GET方法的一些缺點。通過POST方法提交表單數據時,數據不是作爲URL請求的一部分而是作爲標準數據傳送給Web服務器,這就克服了GET方法中的信息無法保密和數據量太小的缺點。因此,出於安全的考慮以及對用戶隱私的尊重,通常表單提交時採用POST方法。

7. 3.7 Content

統計顯示收到的Http響應信息

如下圖所示:可以查看

https://reg.163.com/logins.jsp?type=1&url=http://fm163.163.com/coremail/fcg/ntesdoor2?lightweight%3D1%26verifycookie%3D1%26language%3D-1%26style%3D-1

頁響應具體內容:

8. 3.8 Stream

顯示客戶端發送的數據,然後服務器端返回的數據

客戶端發送總數據:901 bytes sent to 218.107.55.86:80

客戶端接受到服務器端返回總數據:247 bytes received by 192.168.52.188.10720

以下用請求一個mail.163.com中的Logo圖標爲例說明:



http://mimg.163.com/logo/163logo.gif

左邊:客戶端向服務器端發送數據流

1 GET /logo/163logo.gif HTTP/1.1

以上代碼中“GET”代表請求方法,“closea_d.js”表示URI,“HTTP/1.1代表協議和協議的版本。

2 Accept: */*

指示能夠接受的返回數據的範圍, */*表示所有

3 Referer: http://g1a114.mail.163.com/a/f/js3/0712240954/index_v6.htm

包含一個URL,用戶從該URL代表的頁面出發訪問當前請求的頁面

4 Accept-Language: zh-cn

表示能夠接受的返回數據的語言

5 Accept-Encoding: gzip, deflate

Accept-Encoding表明了瀏覽器可接受的除了純文本之外的內容編碼的類型,比如gzip壓縮還是deflate壓縮內容。

6 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

客戶端標識瀏覽器類型

7 Host: mimg.163.com

訪問地址主機標識地址

8 Connection: Keep-Alive

保持Tcp連接(前臺已有備註,這裏不做說明)

9Cookie: vjuids=-1b9063da8.1173d33f879.0.9aab8b85a459d; vjlast=1199406314; _ntes_nnid=a1e69963f40453af8a9ad171cc4cd8da,0|tech|; NTES_UFC=3000000100000000000000000000000000000000000000000000000000000000; Province=021; City=021; ntes_mail_firstpage=normal; NTES_SESS=68LUOUH9ewcCBFyN5OXZ_0qf._IOMCkFscaGYrooXpjtVF7r8Vx7jAzg7HGdWo00GQEn1ZmrZcX7FMAXnb052r8XOFZZYk.hN; NETEASE_SSN=mayingbao2002; NETEASE_ADV=11&23&1199409658752; Coremail=VDeAMrrrDFaTa%XCVwJiXXsRLSLkbLhZXXZGqPJkEXFKNt; wmsvr_domain=g1a114.mail.163.com

Cookies沒什麼說的,前面已列舉了

右邊:服務器端向客戶端返回數據流

1 HTTP/1.0 304 Not Modified

服務器告訴客戶,原來緩衝的文檔還可以繼續使用。

2 Date: Mon, 31 Dec 2007 21:42:27 GMT

發送HTTP消息的日期

3 Content-Type: image/gif

服務器返回請求類型是image/gif

4 Expires: Wed, 30 Jan 2008 21:42:27 GMT

指定實體的有效期

5 Last-Modified: Wed, 19 Apr 2006 03:46:16 GMT

指定被請求資源上次被修改的日期和時間

6 Age: 5607

表示Http接受到請求操作響應後的緩存時間

7 X-Cache: HIT from mimg68.nets.com

表示你的 http request 是由 proxy server 回的

8 Connection: keep-alive

保持Tcp請求連接狀態

保持Tcp請求連接狀態

9 3.9 HttpWatch請求信息框

菜單區如上圖紅框所示:

Started: 表示開始記錄請求一個URL時間

Time: 表示記錄請求耗費的時間

Sent: 表示客戶端向服務器端發送請求字節大小

Reveived:表示客戶端收到服務端發送請求字節大小

Method: 表示請求URL方式

Result: 表示服務器返回到客戶端結果

以下是Httpwatch中http狀態碼列表

200

OK/Success status code

302

Moved temporarily status code

304

Not modified status code 

401

Access denied status code

404

Page or file not found

Aborted

Internet Explorer aborted the HTTP request before a response was received

(Cache)

Content read from cache without sending an HTTP request to the server

ERROR_*

An error occurred such as ERROR_INTERNET_NAME_NOT_RESOLVED

2xx

Successful HTTP status code

3xx

Redirection HTTP status code

4xx

Client error HTTP status code

5xx

Server error HTTP status code

詳細Http狀態查詢,可以參考這個

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章