Fiddler Web Debugger

Let's not kid ourselves: web development isn't that hard. Nope, the server side stuff (php, .NET, etc) or even what happens in the browser (JavaScript, CSS, etc) isn't too difficult. Not all of it's easy though; sometimes when dealing with the HTTP level things can get a little... random.

In FireFox I use a couple plugins to help make HTTP debugging a little less painful; HttpFox and the venerable FireBug. There's also a cool tool called Fiddler written by Eric Lawrence of Microsoft.

Fiddler is a Web Debugging Proxy which logs all HTTP(S) traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP(S) traffic, set breakpoints, and "fiddle" with incoming or outgoing data. Fiddler includes a powerful event-based scripting subsystem, and can be extended using any .NET language.

Fiddler is freeware and can debug traffic from virtually any application, including Internet Explorer, Mozilla Firefox, Opera, and thousands more.

First, it should be noted that Fiddler is covered under a Microsoft license. That might matter to you or your company...

Anyway, in order to get Fiddler to work with anything other than IE, I'm talking about programs like FireFox or similar, you have to do some tampering and configuring of Windows, including the registry, along with the program you want ot send requests from, so for now I only tested it using IE (this can't last though; I'm just NOT going to develop in IE).

Fiddler does the basic HTTP sniffing you'd expect but it also has tools to inspect and tamper with the data in the traffic; this is where HttpFox and Firebug drop the ball. Fiddler allows you to see the basics as you would expect any HTTP sniffer to allow but also displays out an XML rendering as well as the Hex view (if you need that sort of thing).

You can mess with a bunch of the different parts of the session including the session itself using custom built "rules". These rules are written in JavaScript and contain commands that extend Fiddlers UI to allow for extensibility. Needless to say, this is a cool part of the tool.

Another really cool feature of Fiddler is that it can hook into the session for pretty much any Microsoft program that connects to the Internet like Microsoft Office. (I'd always been curious what connections Office makes while open and finding that out scratched a long standing itch.)

It's definitely worth a look if you need to debug any HTTP traffic (AJAX anyone?).