HTTP Monitor, Throttling, Reverse Proxy as Web App…

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.

Leave a Reply