HTTP Debugger Overview

HTTP Debugger What is HTTP Debugger?

HTTP Debugger is a full-scale tool for IT professionals for intercepting, viewing and analyzing the HTTP traffic between a web browser or any program that uses the HTTP protocol, and the web server.

What can HTTP Debugger do for me?

Whether you are a professional web developer creating next generation web sites, a software programming guru creating killer networking software programs or a system/network administrator guarding your organization privacy and security, HTTP Debugger is for you.

Web developers can use the HTTP Debugger to view and analyze the HTTP header parameter values, cookies and error codes; view the source code of HTML/XML web pages and Java/VB scripts; measure the size and downloading time of their web pages in order to identify web site performance bottlenecks etc.

You can improve your web programming skills by analyzing how other web sites work and how they implement certain features.

Software developers can use the HTTP Debugger to view and analyze the HTTP traffic of their own (or any third party) software program and the Internet, irrespective of whether this program is a user mode application or works as a Windows NT System Service.

System and network administrators can use the HTTP Debugger to analyze the behavior of suspicious web sites and view what information programs have sent from your computer to their owners (for example, during an activation or update procedure) in order to measure the security risks.

What do I need to use the HTTP Debugger?

HTTP Debugger works with all today's web browsers, such as Internet Explorer, Mozilla FireFox, Opera etc. and their plug-ins, with any custom developed software program and can view and analyze the HTTP traffic of WinNT System Services.

HTTP Debugger works on Windows 2000/XP/2003/Vista powered computers. It does not require any special software to be installed onto your computer; such as Java virtual machine or .NET components.

Getting started with HTTP Debugger

In order to use the HTTP Debugger, please go to the http://www.httpdebugger.com web site, download the Free 14-day Trial version, install it on to your computer and run it.

HTTP Debugger starts intercepting the HTTP traffic just after running it.

As new information becomes available, the HTTP Debugger processes it and adds it to the program main screen. You can narrow the amount of information shown in the HTTP Debugger, by setting various filters. For example, you can set a filter to show only the HTTP traffic between a particular web site and your web browser and so ignoring information that is unnecessary at that moment.

By setting the highlighting rules you can, for example, mark the web pages that perform slowly or weigh too much by marking them in red.

Can I create my own HTTP protocol viewer and analyzer with HTTP Debugger?

Yes, software developers can use the HTTP Debugger SDK (Software Development Kit) to create their own HTTP protocol viewer and/or analyzer. For more information about the SDK please refer to the HTTP Debugger SDK home page.


Starting the intercepting process

The HTTP Debugger starts the intercepting process just after running its Control Panel, and intercepts the network traffic from all programs that communicate via HTTP protocol.


Viewing HTTP request/response details

Viewing an HTTP request/response details

According to the Hypertext Transfer Protocol specification, every HTTP request and response consists of a header followed optionally by an empty line and some data (content).

The requested web pages, images, scripts, files etc. are returned as a text or binary data in the HTTP content. Some web servers may compress the data in the HTTP content in order to reduce the downloading time and to save the network traffic (HTTP Debugger will automatically process chunked or gzip encodings).

The HTTP header provides important information about how to process the content, the HTTP method and version, requested resource name, returned error code, etc.

If you want to view the header/content of a particular HTTP request/response, select it in the program main screen, then click on 'Request Details' or on 'Response Details' at the bottom of the window.

If the selected HTTP request/response contains an HTML/XML web page, Java/VB script, RSS feed, or any other kind of textual data then it will be shown just after the HTTP header. Images, flash movies and any other kind of binary files cannot be shown on this screen and will be replaced with the line: 'The content is not viewable (binary data).' You can save the binary HTTP content data to the disk and analyze it in an appropriate program.

Web pages, images, flash movies and RSS feeds can be viewed directly in the HTTP Debugger; on the Preview screen.


Previewing web pages and images in the built-in web browser control

You can preview all intercepted web pages, images, flash movies, RSS feeds etc. directly in the HTTP Debugger window without the need to save them to disk, and open them in an appropriate program.

Select the necessary request/response in the program main screen, and then, at the bottom of the window, click on 'Request Preview' if you want to view uploaded web pages or images and click on 'Response Preview' if you want to view received web pages or images.


Filtering Rules

Setting Filtering Rules

To narrow the amount of information shown in the HTTP Debugger main screen, you can set various of filters.

For example, you can set a filter to show the information interchange with a particular web site only (URL filters), monitor only selected programs (user-agent filters), hide all images (content-type filters) and many more.

You can create a filter for any parameter of HTTP header. The most important parameter names are already added to the HTTP Debugger, but if you cannot see the necessary parameter name in the list, simply type it in the corresponding box. The parameter name must not contain spaces, commas, or other punctuation marks and must end with a colon.

If you don't remember the parameter's exact name, then you can select 'Any place in header' from the list, and the HTTP Debugger will search for your text anywhere in the HTTP header.

While adding a filter you have two options:
a) Show only results matching your filer
b) Hide results matching your filer

If you want, for example, to work with the HTTP traffic produced by Internet Explorer only, you can select 'User-Agent:' for the parameter name, type 'MSIE' for the parameter value and select the option (a). The HTTP traffic from all other programs will be ignored.

HTTP Debugger stores all your filters in the registry, that means that your filters stays persistent between program runs and you do not need to create them each time you start the program. To temporary disable filters without deleting them unmark the corresponding checkbox on the toolbar.

To apply your newly added/updated filters to all existing data in the HTTP Debugger, simply click on 'Apply Now' on the toolbar.

Important: Please note, if you create filters that are too complex it is possible that all HTTP traffic will be filtered and nothing will be shown in the HTTP Debugger main screen (you can see the number of filtered items in the status bar). Please update your filters in this case.


Highlighting Rules

Setting Highlighting Rules

Web developers can analyze the performance of their web sites and identify the performance bottlenecks with Highlighting, one of the distinguishing features of HTTP Debugger.

For each downloaded web page, image, script, etc. HTTP Debugger calculates its size and downloading time, thus enabling you to analyze and isolate static/dynamic web pages (PHP, ASP, Java, Perl, ColdFusion, Python, etc) that are performing slowly and need optimizing for speed, and visualize large web pages that need dividing up.

For example, you can create a highlighting rule to mark in green all web pages that take less then 0.01 sec to download, and another highlighting rule for marking red web pages that are downloaded in more then 3.0 sec. Similarly you can create highlighting rules for marking web pages that are less then 10 Kb or are more then 100 Kb.

HTTP Debugger stores all your highlighting rules in the registry. This means that your rules stays consistent between program runs and you do not need to create them each time you start the program. To temporarily disable highlighting unmark the corresponding checkbox on the toolbar.

To apply your newly added/updated rules to all existing data in the HTTP Debugger, simply click on 'Apply Now' on toolbar.


Finding an item

After working a while, the program window may contain hundreds of items making it hard to find a particular HTTP request or response.

In this case you can use the built-in search feature to quickly locate what you want. Simply click on 'Find Item' on the toolbar, type the text you want to locate and click on Find. To continue the search, simply click on Find again.


Saving logs to the disk

You may need to save all intercepted HTTP traffic to disk in order to analyze it in the feature or simply to have a copy of this data. There are several options available to you:

Save Summary - exports the summary of all intercepted HTTP traffic into a flat TXT file that can be opened in Notepad or a data analyzing program like Microsoft Excel.

The summary also can be exported directly to Microsoft Excel.

Save Selected Item - saves a single HTTP transaction (request/response pair) into one single file. This is useful for analyzing and fixing problems with a particular HTTP request or response and for learning how HTTP works. If the HTTP content contains an image, flash movie or any other binary data then you need a hex viewer in order to open this file, otherwise it can be opened in Notepad. HTTP Debugger processes and removes chunked and gzip encodings before saving this log file.

Save All - exports all intercepted HTTP traffic into one single file. This file may contain binary data (images, flash movies etc.) and can be viewed in special programs, such as hex viewers.

Save Header and Content Decoded - is similar to Save Selected Item except that it produces two files, one for HTTP requests and one for HTTP responses.

Save Header and Content RAW - is similar to Save Selected Item except that it also produces two files, one for HTTP requests and one for HTTP responses and that it does not process and remove the chunked and gzip encodings. This may be useful for software developers and network/system administrators.

Save Content Decoded - saves data found in HTTP request/response content in two files. This may be a submitted HTML form or an uploaded image file, or it can be a received web page, Java/VB script, styleshit etc. For example, if the HTTP response content contains a GIF image, then you can rename the saved 'response_decoded.log' to 'my_image.gif' and open this picture in your web browser.

HTTP Debugger tries to determinate the content type by analyzing the value for 'Content-Type:' parameter of the HTTP header and giving the appropriate extension to these files. If for some reason it cannot determinate the content type, then it gives the default '.log' extension to these files. HTTP Debugger processes and removes chunked and gzip encodings before saving these log files.

Save Content RAW - is similar to Save Content Decoded except that it does not process and remove the chunked and gzip encodings. This may be useful for software developers and network/system administrators.


Exporting data to Microsoft Excel

You can export the summary of all intercepted HTTP traffic (the data that you see in the main screen of HTTP Debugger) directly to Microsoft Excel, if you need to carry out some advanced analyzes.

In order to export the summary, click on 'Export to Excel' on the HTTP Debugger toolbar. This will automatically launch a new instance of Microsoft Excel, create a new book in it and fill it in with the necessary data.

You can also save all intercepted HTTP traffic to the disk in various formats for future use.


Summary pane

The 'Summary pane' enables you to quickly get detailed information about a particular request and/or response.

It provides you with information such as: user name, program name, server name, cookies, referrer, encodings, status code etc. If the requested URL contains some parameters, the HTTP Debugger will process them and present them in a tabular format in the Summary pane as well.

To open the 'Summary pane', click on 'View', then on 'Summary Pane'. To hide it, click on 'Summary Pane' once again.


Changing UI themes

In general, the 'UI theme' is the overall look and feel of the program; how it appears on your computer.

There are three themes available to you on HTTP Debugger: blue, silver and black. To change the HTTP Debugger theme, click on 'View' and then click on the theme that your prefer.


Uninstalling HTTP Debugger

The uninstalling procedure for the HTTP Debugger does not differ from the standard operation to remove any program from the Windows operation system.

To remove HTTP Debugger from your computer, click on Start, and then select Settings and then Control Panel.

In the window opened, double click on Add/Remove Programs. Select the HTTP Debugger in the list of installed programs and then click on Change/Remove.