From Tobias Sjösten:
Charles is a web debugging proxy application. It acts as a middle man between your browser and your web application, where it can do a multitude of helpful services.
You can use it for debugging, where it shows you exactly what traffic is sent and received.
Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that allows viewing all traffic between your system and the Internet, including requests, responses and the HTTP headers.