原文地址为: HTTP调试工具:Fiddler介绍一(翻译)

Fiddler工具介绍一
(原文地址:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebgen/html/IE_IntroFiddler.asp)

这个工具我已经使用比较长时间了,对我的帮助也挺大,今天我翻译的微软的文章,让更多的朋友都来了解这个不错的工具,也是我第一次翻译文章,不恰当之处请大家大家多多指正。
介绍:

你是不是曾经疑惑过你的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设置,工具,局域网设置,最后点击高级。
 

作为系统代理,所有的来自微软互联网服务(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扩展准备的基本机制:

自定义规则,和规则检查。

使用脚本化的规则来扩展Fiddler

Fiddler支持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的高级篇。

转载请注明本文地址: HTTP调试工具:Fiddler介绍一(翻译)

HTTP调试工具:Fiddler介绍一(翻译)相关推荐

  1. HTTP调试工具 fiddler图文使用教程

    HTTP调试工具 fiddler图文使用教程 2013/9/25 18:06:34来源:www.pc6.com作者:gm我要评论(0) Fiddler可以帮您记录,调试Microsoft Intern ...

  2. 【Fiddler介绍】

    一.Fiddler简介 Fiddler是最强大最好用的Web调试工具之一, 它能记录所有客户端和服务器的http和https请求.允许你监视.设置断点.甚至修改输入输出数据. 功能: 监控浏览器网页及 ...

  3. 计算机专业英语外文翻译,计算机专业英语JAVA介绍外文翻译[共28页]

    <计算机专业英语JAVA介绍外文翻译[共28页]>由会员分享,可在线阅读,更多相关<计算机专业英语JAVA介绍外文翻译[共28页](28页珍藏版)>请在读根文库上搜索. 1.荆 ...

  4. [Android]使用Dagger 2依赖注入 - DI介绍(翻译)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5092083.html 使用Dagger 2依赖注入 - DI介 ...

  5. Notepad++的第三方插件介绍中文翻译

    最近发现Markdown编辑器Typora的内测免费版也过期不能使用了,不过这个问题最后通过下载更早的版本解决了. 但是也因此,我彻底了解了一下各大编辑器对Markdown支持的情况,其中了解了一下N ...

  6. 介绍计算机硬件的英语作文带翻译,自我介绍作文之英语作文自我介绍带翻译(35页)-原创力文档...

    英语作文自我介绍带翻译 [篇一:英文版自我介绍翻译(共4篇)] 篇一:面试用英语自我介绍怎么说 面试用英语自我介绍怎么说? 面试过程中自我介绍是在所难免的,中文自我介绍尚且难倒了很多人,更 何况是英文 ...

  7. 大学生学计算机的自我介绍范文带翻译,大学生英语自我介绍带翻译范文.doc

    大学生英语自我介绍带翻译范文 大学生英语自我介绍带翻译范文 自我介绍是向别人展示自己的一个重要手段,自我介绍好不好,直接关系到自身给别人第一印象的好坏,也对以后交往顺利与否起到不可忽视的作用,同时,自 ...

  8. 计算机专业的自我介绍英语翻译,电气工程及其自动化英语翻译,大学生自我介绍带翻译?...

    电气工程及其自动化专业英语 翻译 The students trained in this major should have engineering technology foundation an ...

  9. php微信公众号开发调试工具,微信公众帐号开发调试工具发布介绍

    最近在做微信公众帐号开发方面的事,但用手机调试发生错误时,就什么都没回复了,靠日志记录调试效率太低下,于是乎就有了这个小工具软件的诞生. 功能简介: 在开发微信公众平台时,大多数都是用手机通过微信发送 ...

最新文章

  1. 试编写一个汇编语言程序,要求从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数
  2. 玩玩.net的ildasm與ilasm (转)
  3. 在navicat中查看所有表的注释
  4. CENTOS elasticsearch plugin install:Failed: SSLException[java.security.ProviderException,解决
  5. sklearn自学指南(part50)--独立成分分析(ICA)
  6. 【131天】尚学堂高淇Java300集视频精华笔记(65-66)
  7. 人民邮电出版社图灵公司的两本SQL Server 2005图书诚征译者
  8. (转)基于MVC4+EasyUI的Web开发框架形成之旅--权限控制
  9. 李迟2021年10月知识总结
  10. MSSQL同步刷新视图字段长度和源表保持一致
  11. php sockets有什么用,PHP中Sockets与流有什么关系啊!!!!!
  12. 5-vue-template模板制作
  13. PLSQL Developer13破解汉化
  14. 如果机械工程师分等级的话,你在哪个等级,我是婴儿级
  15. 【数学-常用公式】基本积分表
  16. HCIE大师之路(三)——QOS综合实验
  17. matlab 解决列联表问题,列联表那点事,别再傻傻分不清楚了
  18. RMAN备份恢复Oracle_wuli大世界_新浪博客
  19. xmanager linux 远程桌面,Windows系统下通过xmanager远程桌面控制Linux
  20. 惠普打印机墨盒更换教程_惠普打印机加墨教程:老司机教你

热门文章

  1. [转帖]3万公里东风标致206机油试用心得
  2. c语言scanf函数计算乘积,C语言Scanf函数
  3. Prometheus监控K8S
  4. 毕向东java基础总结
  5. 软件工程师职业规划_为什么公司文化对您作为软件工程师的职业很重要
  6. 实例8:机器人的空间描述和变换仿真
  7. root_path运用python_Python app.root_path方法代碼示例
  8. Yarn启动报错,ERROR: Cannot set priority of registrydns process xxxxx
  9. ONES 收购 Tower,五源资本合伙人对话两位创始人
  10. 浩易南:线下手机销售维修店O2O思路