麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網管 > 服務器 > 正文

HTTP調試工具 fiddler圖文使用教程

2020-05-27 13:29:36
字體:
來源:轉載
供稿:網友

Fiddler可以幫您記錄,調試Microsoft Internet Explorer與Web應用程序的交互,找到Web程序運行性能的瓶頸,還有如查看向Web服務器發送cookies的內容,下載內容的大小等功能。 說多一點是,Fiddler站在用戶與Web服務器的中間,由它轉發請求與響應,因此Fiddler作為一個可檢視,可定制的工具,能讓您了解交互過程細節,有利于解決Web程序的交互問題。如下列示意圖: Internet Explorer <-> WinINET? (由Fiddler運行時自動注冊) <-> Fiddler <-> Web Server Fiddler可以用于: 性能測試。如查看頁面的大小調試。在會話選項中,可暫停,編輯HTTP通訊 。Fiddler不僅可用于Microsoft Internet Explorer,其它瀏覽器,如Mozilla Firefox,Opera等也適用。軟件界面友好,精于HTTP,可能比NetMon易用,還可用.NET進行擴展。官方站點上,還有視頻教學。 這個工具我已經使用比較長時間了,對我的幫助也挺大,今天我翻譯的微軟的文章,讓更多的朋友都來了解這個不錯的工具,也是我第一次翻譯文章,不恰當之處請大家大家多多指正。介紹: 你是不是曾經疑惑過你的web程序和IE是如何交互的?你是不是遇到過一些奇怪的而你又無法解決的性能瓶頸?你是不是對那些發送給服務器端的cookie 和那些你下載下來的被標記為可緩存的內容感到好奇?Fiddler官方網站及下載地址:http://www.fiddlertool.com/Fiddler/dev/微 軟的Fiddler能夠幫助你回答以上的問題,不但如此,它還是一個http調試代理,它能 夠記錄所有的你電腦和互聯網之間的http通訊,Fiddler 可以也可以讓你檢查所有的http通訊,設置斷點,以及Fiddle 所有的“進出”的數據(指cookie,html,js,css等文件,這些都可以讓你胡亂修改的意思)。 Fiddler 要比其他的網絡調試器要更加簡單,因為它僅僅暴露http通訊還有提供一個用戶友好的格式。Fiddler 包含一個簡單卻功能強大的基于JScript .NET 事件腳本子系統,他非常靈活性非常棒,可以支持眾多的http調試任務。Fiddler 是用C#寫出來的。。。。。。接下來是一大段廢話,關于如何安裝的,只要一路next,就可以了。這段話我就跳過,直接切入正題了。Running Fiddler當你啟動了Fiddler,程序將會把自己作為一個微軟互聯網服務的系統代理中去。你可以通過檢查代理設置對話框來驗證Fiddler是被正確地截取了web請求。操作是這樣的:點擊IE設置,工具,局域網設置,最后點擊高級。

HTTP調試工具 fiddler圖文使用教程 武林網

作為系統代理,所有的來自微軟互聯網服務(WinInet)的http請求再到達目標Web服務器的之前都會經過Fiddle,同樣的,所有的Http響應都會在返回客戶端之前流經Fiddler。這樣,就能明白Fiddler很多作用了吧!

當你關閉Fiddler的時候,它就會自動從系統注冊表中移出,換句話說,當你關閉了Fiddler后,不會占著茅坑不拉屎。下面,是一個Fillder的用戶界面,大家可以參考參考其功能。 

用 Fiddler來做性能測試 HTTP統計視圖通 過顯示所有的Http通訊,Fiddler可以輕松的演示哪些用來生成一個頁面,通過統計頁 面(就是Fiddler左邊的那個大框)用戶可以很輕松的使用多選,來得到一個WEB頁面的“總重量”(頁面文件以及相關js,css等)你也可以很輕松 得看到你請求的某個頁面,總共請求了多少次,以及多少字節被轉化了。 

另外,通過暴露HTTP頭,用戶可以看見哪些頁面被允許在客戶端或者是代理端進行緩存。如果要是一個響應沒有包含Cache-Control 頭,那么他就不會被緩存在客戶端。 

用Fiddler來調試 Fiddler 支持斷點調試概念,當你在軟件的菜單—rules—automatic breakpoints選項選擇beforerequest,或者當這些請求或響應屬性能夠跟目標的標準相匹配,Fiddler就能夠暫停Http通訊, 情切允許修改請求和響應。這種功能對于安全測試是非常有用的,當然也可以用來做一般的功能測試,因為所有的代碼路徑都可以用來演習。

Session 檢查用 戶可以在BuilderPage項種來以手工的方式來創建一個HTTP請求(即在 Fiddler右側的tab的第三個,RequestBUILDER),或者可以使用拖拽操作從Session列表中來移動一個已經存在的請求到 builder page 來再次執行這個請求。。。Fiddler 擴展Fiddler可以使用 .net framework來對它進行擴展。有2種為Fiddler擴展準備的基本機制:自定義規則,和規則檢查。使用腳本化的規則來擴展FiddlerFiddler支持JScript .NET引擎,它可以允許用戶自動地修改Http請求和響應。這個引擎能夠在可視化界面修改在FiddlerUI中的Session,可以從列表中提取你感興趣的錯誤,也可以移除你不感興趣的Session。 以下的示例代碼演示當cookie被加載的時候把界面變成紫色。static function OnBeforeRequest(oSession:Fiddler.Session){ if (oSession.oRequest.headers.Exists("Cookie")){ oSession["ui-color"] = "purple"; oSession["ui-bold"] = "cookie"; }}通過加入Inspectors來擴展Fiddler 用戶可以加入一個Inspector插件對象,來使用.net下的任何語言來編寫Fiddler擴展。RequestInspectors 和 ResponseInspectors提供一個格式規范的,或者是被指定的(用戶自定義)Http請求和響應視圖。默認安裝中,Fiddler加入了一下的Inspectors:Request Inspectors[RW] Headers—Shows request headers and status. [RW] TextView—Shows the request body in a text box. (原始的請求body視圖)[RW] HexView—Shows the request body in a hexadecimal view. (body的16進制視圖)[RO] XML—Shows the request body as an XML DOM in a tree view.(以XML方式展示請求)Response Inspectors[RW] Transformer—Removes GZip, DEFLATE, and CHUNKED encodings for easier debugging. [RW] Headers—Shows response headers and status. [RW] TextView—Shows the response body in a text box. [RW] HexView—Shows the response body in a hexadecimal view. (16進制視圖)[RO] ImageView—Shows the response body as an Image. Supports all .NET image formats.[RO] XML—Shows the response body as an XML DOM in a tree view. [RO] Privacy—Explains the P3P statement in the response headers, if present.(如果在響應頭中有關于隱私策略的說明就展示出來)學習如何通過Fiddler建立一個速度更快的網站。在這篇文章中,我們將使用Fiddler去探究HTTP的性能,緩存,以及壓縮。如果你要是沒有安裝和配置過Fiddler, 請從文章的第一篇開始。HTTP 性能總覽毫 無疑問用戶都喜歡訪問速度快的網站。用戶是非常的不耐煩,除非你的網站是沒有競爭對手,換句 話就是處于壟斷地位的。如果你的訪問者來自世界各地,那你就必須要保證你的網站在執行效率方面要非常好,甚至要更加標準。作為一個國際化的網絡連接點,通 常要受到來自兩個方面的壓力:高訪問量以及低帶寬。在第一次至關重要的訪問中,用戶必須要下載每一個內容片斷,來生成頁面,包括JS,CSS,Images,HTML,如果你的頁面太難加載(包括IIS接到請求執行并返回給客戶端HTML),訪問者也許就會離開你的頁面!通過暴露所有的HTTP通訊,Fiddler很容易得向你展示哪些文件經常被用于生成一個頁面,Shift+click 可以在Fiddler左邊框的會話列表中多選會話,來計算那些被選會話的“頁面總重量”。那些被轉換成字節的數量。如果你想讓你的客戶在第一次訪問的時候就留下深刻的印象 ,那么最好的,也是唯一的途徑就是返回給客戶更少的文件。1 使用更少的圖畫2 將所有的CSS濃縮到一個CSS文件中3 將所有的腳本濃縮到一個JS文件中4 簡化你的頁面時間5 使用HTTP壓縮如果要是你已經對用戶的第一次來訪的性能進行了優化,那么你可以通過Http 緩存的優勢來使得你的網站訪問速度更快!HTTP 緩存介紹 2種方式來提升你的web 應用程序的速度:減少請求和響應的往返次數減少請求和響應的往返字節大小。HTTP 緩存是最好的減少客戶端服務器端往返次數的辦法。緩存提供了提供一種機制來保證客戶端 或者代理能夠存儲一些東西,而這些東西將會在稍后的HTTP 響應中用到的。(即第一次請求了,到了客戶端,緩存起來,下次如果頁面還要這個JS文件或者CSS文件啥的,就不要到服務器端去取下來了,但是還是要去服 務器上去訪問一次,因為請求要對比ETAG值,關于這個值,我將會在下次翻譯中介紹其作用)這樣,就不用讓文件再次跨越整個網絡了。 緩存相關的請求頭 為了提高性能,微軟的IE和其他的web客戶端總是想盡辦法來維持從遠程服務器上下載下來的本地的緩存。當客戶端需要一個資源(html,css.js…),他們有3種可能的動作:1 發送一個一般的HTTP請求到遠程服務器端,請求這個資源。2 發送一個有條件的HTTP請求到服務器,條件就是如果它不同于本地的緩存版本。3 如果緩存的拷貝可用,就使用本地的緩存資源。當發送一個請求,客戶也許會使用如下的幾個HEADER

Table 1. Client Cache Headers

Pragma: no-cache

The client is unwilling to accept any cached responses from caches along the route and the origin server must be contacted for a fresh copy of the resource.

If-Modified-Since: datetime

The server should return the requested resource only if the resource has been modified since the date-time provided by the client.

If-None-Match: etagvalue

The server should return the requested resource if the ETAG of the resource is different than the value provided by the client. An ETAG is a unique identifier representing a particular version of a file.

1 Pragma:no-cache 表明客戶端不愿意接受緩存請求,它需要的是最即時的資源。2 If-Modified-Since: datetime 表明如果這個資源自從上次被客戶端請求,就已經修改了,那么服務器就會返回給客戶端最新的。3 If-None-Match: etagvalue 如果客戶端資源的ETAG值跟服務器端不一致了,那么服務器端返回最新的資源。ETAG就是一個唯一的ID,用來表示一個文件的一個特定的版本。如 果要是這些有條件的請求,也就是含有If-Modified-Since 或者 If-None-MatchHeader頭的請求,服務器將會以HTTP/304 Not Modified 來作為響應,那么客戶端就知道可以使用客戶端的緩存了。否則,服務器將會返回一個新的響應并且客戶端就會拋棄過期的緩存資源。你 可以觀察2個連貫的請求,來請求同一個圖片,你會在Fiddler中發現:在第一個本地緩存 版本中,服務器返回一個含有ETAG的文件,和一個含有最后修改日期的文件,在這個第一次的請求會話中,一個本地的緩存版本已經可以使用了。這樣一來,一 個有條件的請求就被創建出來。然后你再次請求這個圖片的時候,他就就會響應一個本地緩存的文件,當然前提是第一次緩存的圖片的ETAG值或者If- Modified-Since 值跟服務器上匹配的話,服務器就響應一個304給客戶端。Session #1GET /images/banner.jpg HTTP/1.1Host: www.bayden.comHTTP/1.1 200 OKDate: Tue, 08 Mar 2006 00:32:46 GMTContent-Length: 6171Content-Type: image/jpegETag: "40c7f76e8d30c31:2fe20"Last-Modified: Thu, 12 Jun 2003 02:50:50 GMTSession #2GET /images/banner.jpg HTTP/1.1If-Modified-Since: Thu, 12 Jun 2003 02:50:50 GMTIf-None-Match: "40c7f76e8d30c31:2fe20"Host: www.bayden.comHTTP/1.1 304 Not Modified因為一個HTTP304響應僅僅包含頭,沒有body,所有它在穿越互聯網的時候要比攜帶了資源的快很多,盡管如此,HTTP/304響應需要一個服務器的往返,但是通過細心的設置響應頭,web程序員可以消除這種因素,甚至是有條件的請求。緩存相關響應頭 通常緩存機制是由響應頭來控制的。HTTP規范描述了Header控制緩存,The optional Cache-Control,Expires(過期)。Expires頭包含一個絕對的日期,當超過此日期,它將不會被考慮更新了。

Table 2. Common Cache-Control Headers

Value

Meaning

public

The response may be stored in any cache, including caches shared among many users.

private

The response may only be stored in a private cache used by a single user.

no-cache

The response should not be reused to satisfy future requests.

no-store

The response should not be reused to satisfy future requests, and should not be written to disk. This is primarily used as a security measure for sensitive responses.

max-age=#seconds

The response may be reused to satisfy future requests within a certain number of seconds.

must-revalidate

The response may be reused to satisfy future requests, but the origin server should first be contacted to verify that the response is still fresh.Cache-Control頭的參數設置:Public 響應會被緩存,并且在多用戶間共享。Private 響應只能夠作為私有的緩存,不能再用戶間共享。No-cache 響應不會被緩存No-store 響應不會被緩存,并且不會被寫入到客戶端的磁盤里,這也是基于安全考慮的某些敏感的響應才會使用這個。Max-age=#seconds 響應將會某個指定的秒數內緩存,一旦時間過了,就不會被緩存。Must-revalidate 響應會被重用來滿足接下來的請求,但是它必須到服務器端去驗證它是不是仍然是最新的。注意:如果你要想在iis中配置緩存,請參閱溫軟的知識技術文章:

你可以學習更多關于在asp.net中使用緩存的知識文章:

如 果你發現你經常在你的網站上更新文件,但是并沒有更改文件名字,那你就必須要非常小心地設置 你的緩存生存時間。例如:如果你要一個thisyear.gif圖片文件顯示當前的年份在網站上,你需要保證這個緩存過期時間不能超過一天,否則一個用戶 在12月31號訪問你的網站的時候,在1月1號就不能顯示正確的日期。由于某些原因,服務器可能會設置:Progma:no-cache 頭,Cache-control:no-cacheHeader中的參數:Vary 是一個緩存信號,Vary:User-Agent表示緩存當前的響應,但是僅限于當發送同樣的User-Agent 頭的時候。指令 Vary:* 就相當于Cache-Control:no-Cache。Vary就相當于asp.net中的緩存的參數一樣,意思是根據什么來緩存,如果要是知道asp.net的緩存的使用方法,就很容易明白這個參數的意思。使用HTTP會話列表,Fiddler用戶可以看到在頁面里包含的HTTP緩存頭。Fiddler 會話列表如果響應不包含Expires或者Cache-Control,那么客戶端就會被迫作為一個有條件的請求,來保證所有的資源都是最新的。有條件的請求和WinInetCacheIE通過Microsoft windows Internet Services來最大程度的利用緩存服務。WinInet允許用戶配置緩存的大小和行為,設置緩存進行如下操作:1 打開IE,2 工具選項,選擇Inrernet選項,在一般子選項中,臨時文件夾內,點擊設置下圖就是選村的四種設置:標記性能問題:你可以使用Fiddler的自定義規則來標記某些你需要的,比如如果某個響應大于25KB,你可以把當前的Session標記為紅色,更加醒目。以下代碼都是在OnBeforeResponse事件中:// Flag files over 25KB if (oSession.responseBodyBytes.length > 25000){ oSession["ui-color"] = "red"; oSession["ui-bold"] = "true"; oSession["ui-customcolumn"] = "Large file"; }同樣,你也可以標記響應并不指示緩存信息。 // Mark files which do not have caching informationif (!oSession.oResponse.headers.Exists("Expires") &&!oSession.oResponse.headers.Exists("Cache-Control")){ oSession["ui-color"] = "purple"; oSession["ui-bold"] = "true"; }介紹HTTP壓縮所有的目前流行的WEB服務器和瀏覽器都提供HTTP壓縮支持。 HTTP壓縮可以非常顯著地降 低客戶端和服務器端的通訊量。節省超過50%的HTML,XML,CSS,JS等文件。一個瀏覽器發送一個信號給服務器,他可以介紹HTTP壓縮過的內 容,并且會把客戶端所支持的壓縮類型放在請求的Header中,例如:考慮如下的請求:GET / HTTP/1.1Accept: */*Accept-Language: en-usAccept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)Host: search.msn.com這個 Accept-Encoding 頭表明IE將愿意接受GZIP格式的和DEFLATE格式的壓縮響應。相應的響應如下:HTTP/1.1 200 OKContent-Type: text/html; charset=utf-8Server: Microsoft-IIS/6.0 --Microsoft-HTTPAPI/1.0X-Powered-By: ASP.NETVary: Accept-EncodingContent-Encoding: gzipDate: Tue, 15 Feb 2006 09:14:36 GMTContent-Length: 1277Connection: closeCache-Control: private, max-age=3600 你可以使用Fiddler來解壓縮這些數據。實驗表明,使 用HTTP壓縮能大量減少數據往返, 一個普通的CSS文件甚至能減少80%!當然壓縮是以犧牲CPU性能為代價的。特別是壓縮動態文件,但是一般的權宜之策是壓縮例如JS,CSS等靜態文 件,因為他們在第一次壓縮后,就會被存儲在服務器上,如果要壓縮asp.net動態文件,一定要有個權衡才行

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧日一级片 | 成人在线视频在线观看 | 欧美激情性色生活片在线观看 | 怦然心动50免费完整版 | 性爱视频在线免费 | 国产女同疯狂激烈互摸 | 久久久久久久一区 | 日日噜噜夜夜爽 | 亚洲综合色视频在线观看 | 污黄视频在线观看 | 午夜视频在线观看免费视频 | 粉色视频污 | 国产日产精品一区四区介绍 | 欧美成人做爰高潮片免费视频 | 久草成人在线 | 久色免费 | 欧美激情精品久久久久久久久久 | 91av在线国产| 香蕉国产在线视频 | 久久艳片| 国产精品高潮视频 | 亚洲国产精品高潮呻吟久久 | 日韩欧美激情视频 | 免费毛片免费看 | 欧美在线观看禁18 | 黄视频网站免费 | 欧美日韩亚洲国产 | 久久靖品 | 欧美国产精品一区二区 | 精品一区二区视频在线观看 | 国产免费成人 | 久久国产一级 | 日韩一级片一区二区三区 | 一级免费在线 | 91青青| 黄色特级视频 | 2019亚洲日韩新视频 | 免费黄色一级网站 | 亚洲成人免费网站 | 成人免费毛片一 | 午夜啪视频|