This Blog has moved to http://www.falsepositives.com/

False Positives Adventures in Technology, SciFi and Culture from Toronto

Wednesday, August 27, 2003

HTTP Monitor, Throttling, Reverse Proxy as Web App debugging tool (No that's NOT my new nickname!)


Tech-Weblog by Christoph C. Cemper pointed me to Charles which is Java shareware app ($50 paypay after 10 days) with the the following list o' features:

  • Cookies are shown in the HTTP headers, so you can see exactly what cookies you are sending and receiving.

  • Every request and response is recorded in Charles. Redirects that are often too quick to see when
    testing with a web browser can be seen in Charles. Requests from applications other than your web browser
    (such as Flash movies) can also be seen.

  • Request and response sizes are shown in Charles, so you can see how big each request was.

  • Assets loaded from an HTML page are recorded so that you can see how many images etc are loaded by a page, and where from.

  • All files can be viewed, including JavaScript files, CSS files, HTML files etc.

  • Mirror all responses to disk, recording your session.


  • Blacklist sites so that requests are blocked.

  • See the results of caching by seeing cached responses (304 Not Modified), and requests containing
    last modified dates (IfModifiedSince).

  • Disable caching by removing cache related headers from requests and responses as they pass through Charles,
    ensuring that you are always requesting the latest file.

  • See whether a cache has served your request by looking for cache-hit HTTP headers.

  • View the encrypted HTTPS communications.


  • Reveal unexpected requests, such as typos and 404s.

  • View requested images.

  • Throttle your web connection to a specified bytes/second speed, and millisecond latency. This
    enables you to simulate modem conditions on a high speed internet connection

  • Spoof DNS name to ip mappings so that you can test a domain name before it has gone live. Very useful for testing your virtual hosting.

  • Export to CSV all of the summary data captured by Charles for analysis and reporting in Excel


  • Reverse proxy creates ports on the localhost that act as regular HTTP servers, but forward all requests to a specified web server.

  • SSL debugging enables you to view requests and responses in plain text even when communicating with an SSL secured web server.

  • HTTP/1.1 support - understands some HTTP/1.1 specific responses, and forces no keep-alives


I can think of lots of times when I wanted to see just what was going on between the app (or broswer) and the server, and the Throttle could be used to test "What if I only had a dial up line rather that this 10 Terabit Ethernet connection" scenario testing. Lot's of geeky goodness here.


Please Note that this Blog (False Positives) has moved to http://www.falsepositives.com/