For HTTP debugging I've used a number of tools and I'm surprised how often I come across web developers who don't use one. The idea is simple, all browser http requests pass through a proxy that records the requests and responses so that they can be reviewed.
When debugging web applications its really handy to be able to see the headers and the HTML and if you don't use a debugger at the moment I suggest you try one and I bet you'll be kicking yourself that you never used one before.
If your an ASP.NET developer then you may have already have come across the Microsoft Fiddler Powertoy which is an unsupported utility from Microsoft. The nice thing about Fiddler is that you can save requests to a file and replay them later and it also provides some performance data.
For non-windows users and Microsoft haters there is another HTTP debugger I've used and which I recommend. The OWASP WebScarab project is written in Java and there is a Mac OS/X package available. This piece of software has some rather nice features:-
- Spider - identifies new URLs on the target site, and fetches them on command.
- Manual request - Allows editing and replay of previous requests, or creation of entirely new requests.
- Bandwidth simulator - allows the user to emulate a slower network, in
order to observe how their website would perform when accessed over,
say, a modem.
- Scripted - operators can use BeanShell to write a script to create
requests and fetch them from the server. The script can then perform
some analysis on the responses, with all the power of the WebScarab
Request and Response object model to simplify things.
- SOAP - There is a plugin that parses WSDL, and presents the various
functions and the required parameters, allowing them to be edited
before being sent to the server.
WebScarab has many more features which don't appear in the list above so I recommend you visit the OWASP WebScarab project page and take a better look. Actually, whilst your there its well worth looking at the other OWASP projects some of them are very interesting.
Not really a HTTP debugger but it is a tool I recommend is the Firefox addon called
Firebug. Its really good for debugging Javascript and CSS problems.