Tap… Tap… Is This Thing On?

Posted: August 17th, 2009
Filed under: IIS & HTTP, Web Speed and Performance
Tags: , , ,

How can I tell when compression is working?

Our free online Compress Check tool is a good place to start. However, one of the best ways to answer this question is to look at the conversation between a browser and a server at the HTTP level. Since browsers generally do not display protocol-level data, you will need a tool that lets you see what the browser usually keeps hidden.

Fortunately, there are a number of options:

Use a protocol analyzer
Tools such as Trace Plus from WebDetective are like specialized network monitors that focus on specific applications and protocols. WebDetective lets you trace the HTTP requests from, and responses to your browser, providing much the same view as a full-blown packet sniffer while running on the client side and automatically filtering out irrelevant network traffic.

Use a browser extension
Such as the free ieHTTPHeaders for Internet Explorer, HttpWatch from Simtec for Internet Explorer or LiveHTTPHeaders for Mozilla. These tools provide functionality similar to that found in WebDetective, but they reside directly in the browser itself. These tools are probably the most convenient way to inspect response headers as you navigate a site.

Use an HTTP troubleshooting tool
Such as the WebFetch (.exe) utility from Microsoft to simulate a browser’s interactions with the server. In this case, you will have to add the necessary HTTP request header (Accept-Encoding: gzip, deflate) in order to trigger compression on the server. On the other hand, this makes it easy to toggle the client’s acceptance of compression, to see if the server responds accordingly: simply make some requests that include the header and some that do not. Microsoft also offers the WCAT (Web Capacity Analysis Tool) and Web Application Stress Tool among others in the IIS 6.0 Resource Kit for HTTP load and stress testing.

Use a network packet sniffer
If you are running Windows NT 4.0 or 2000 Server, you can use the Network Monitor tool (netmon.exe) which ships with these systems as an optional component. Network packet sniffers allow one to inspect network traffic at the protocol and data levels. By focusing on the HTTP portion of this traffic, one can examine the relevant headers and data as they are exchanged between browser and server in the course of compression testing.

Once you have decided on a tool, the next step is to use it to trace or issue a request for a compressible resource and inspect the response to see if it was in fact compressed — and, if so, how many bytes were saved by compression.

~ Port80

No Comments »

Leave a Reply