HTTPTracer is an application that sits between your HTTP client and your HTTP server and sniffs all the communication that goes on between the two.
What can I do with this?
You can understand what's really passing thru your HTTP connections.
This is normally useful to:
- understand if your caching mechanisms really work
- understand if the browser is really using keep-alive or if it's generating new TCP/IP roundtrips for every object
- understand if your browser is using HTTP pipelining or not
- see what HTTP headers and actions are used
- see how the data attached is encoded
- see if the content is really encrypted/compressed or not
- ... and all the stuff that your HTTP clients work so hard to hide from you (which is good if you are an end user, not so good if your job is not only to make your HTTP connection work but work well!)
How do I use it?
The application should be self-explanatory: after you launch it, create a connection to an existing web site by specifying the host name and the port, and specifying what local port it should attach to (for example 8080).
After you have created the connection listener, point your browser to http://127.0.0.1:8080/ (or the port that you used) and start browsing! All the links in the pages will be rewritten automatically so that you can keep browsing as the remote web server was actually local and you can see the tracing being logged as the HTTP connection goes on.
Hmmm, reminds me of the "tcpmon" utility found in Apache Axis...
This is precisely that utility, renamed for differentiation, repackaged to make it easier to use, added a few things (like response timing) and given more visibility (it's pretty hard to find in Axis if you don't know it's there). All credits go to the original developers (see below), all the blame to us.
Requirements
HTTPTracer is a GUI application written in Java and requires:
- A Java 1.2 or later compatible virtual machine for your operating system.
Oh man, why Java and why a proxy? Why don't you just use "tcpflow/httpflow"?
First of all, we do use tcpflow and httpflow, they are invaluable companions.
Unfortunately, tcpflow doesn't work on windows, which is one reason for this. Another reason is that while to see the network flow, it's not really that great when you need to go back and figure out what happened in detail. HTTPTracer provides a UI that is a little better than a huge scrolling list in a terminal window.
Ok, where do I download it?
You can obtain HTTPTracer in two different ways:
- download a binary distribution
- download the files directly from the code repository and build it yourself.
In case you want to download the files from the repository (for example, if you want to have the latest and greatest development snapshot), you need to have a Subversion client installed. At this point, just type
svn co http://simile.mit.edu/repository/httptracer/trunk/ httptracer
at the command line and the latest distribution will appear in the "httptracer" directory.
Licensing and legal issues
HTTPTracer is open source software and is licensed under the Apache License 2.0 license located in the LICENSE.txt file located in the root of the distribution. Credits
This software was created by the Apache Axis project and originally written by (those who get the credit):
- Sanjiva Weerawarana
- Doug Davis
- Steve Loughran
it was later modified and maintained here by (those who get the blame):
| Attribute values | |
|---|---|
| Glossary definition | HTTPTracer is an application that sits between your HTTP client and your HTTP server and sniffs all the communication that goes on between the two. + |


