15.9 Examining HTTP Traffic with Fiddler

The applications we write increasingly take advantage of networks, whether to communicate with the server in a standard client/server scenario or to call public APIs on the Internet. This is especially true for web applications, where every request to the server is a call across the network. But network communication is, unfortunately, one of the more troublesome aspects of an application to troubleshoot. When an application has an error parsing a request or response, it often simply returns a generic error message that is light on details and doesn’t do much to help you figure out the real problem.

The infamous .NET remoting binary formatter error is a classic example of this behavior. If an HTTP error is returned from a remoting call, the Framework will try to deserialize that error as if it was the object being returned. This causes a binary serialization exception to be thrown, which hides the more useful HTTP error that is actually being returned.

Fiddler, an HTTP debugging proxy written by Eric Lawrence, a Microsoft employee on the Internet Explorer team, gives you the ability to see both the requests and responses of all calls configured to go through the proxy. You can view the number of calls, estimates of how long they took to execute, the headers, and even the actual bodies of the requests and responses. You can also manually craft requests to send to the server, set breakpoints, and more.

Fiddler at a Glance

Tool

Fiddler

Version covered ...

Get Windows Developer Power Tools now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.