Charles is an HTTP proxy that enables a developer to view all of the HTTP and SSL or HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information). It can be used as a HTTP monitor and Reverse Proxy too. You can view SSL requests and responses in plain text and contents of Flash Remoting or Flex Remoting messages as a tree. It features bandwidth throttling to simulate slower internet connections including latency, AJAX debugging, repeat requests to test back-end changes, edit requests to test different inputs, breakpoints to intercept and edit requests or responses, and validate recorded HTML, CSS and RSS/atom responses using the W3C validator.