Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that runs on your own computer. The proxy software enables a developer to view all of the HTTP traffic between their web browser and the Internet. This includes requests, responses, and the HTTP headers.
Programs using Internet connection are configured to access the Internet through Charles, and the proxy app is able to record and display all of the data that is sent and received. HTTP headers contain the cookies and caching information, view SSL communication in plain text. HTTP/1.1 is supported.
In Web and Internet development you can't view what is being sent and received between your client and the server. Without this visibility, it is difficult and time-consuming to determine exactly where the fault is. Using Charles you can diagnose and fix the problem.
Moreover, Charles can also simulate modem speeds by effectively throttling your bandwidth and introducing latency, so that you can experience an entire website as a modem user might. Charles makes debugging quick, reliable, and advanced.
The program is also useful for Adobe Flash developers. Charles also offers support for Flash Remoting (AMF0 and AMF3). View the contents of LoadVariables, LoadMovie and XML loads.
Other key features include an option to view SSL requests and responses in plain text, AJAX debugging (view XML and JSON requests and responses as a tree or as text), repeat requests to test back-end change, edit requests to test different inputs, create breakpoints and validate HTML, CSS, RSS.