Sunday, September 23, 2012

Project - HTTPTracer

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. 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.

Code download

Program download

0 comments:

Post a Comment