Charles: HTTP Proxy & Monitor
Charles enables developers to view all of the HTTP and SSL/HTTPS traffic between their machine and the Internet, including requests, responses, and HTTP headers.
What is Charles?
Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).
Key features of Charles include:
- HTTP proxy - Forward and monitor all HTTP traffic between your computer and the Internet. SSL proxy - Charles decrypts HTTPS traffic for inspection.
- Rewrite HTTP requests and responses or even script entirely new ones.
- Throttling - Simulate slow networks by throttling HTTP latency.
- Device Proxy - Use Charles from an Android or iOS device.
- Maps Remote - Remotely map requests from phones or tablets connected over WiFi.
- SSL Proxying - Charles decrypts HTTPS traffic for inspection while keeping the secure SSL tunnel between your browser and the server intact.
- Recording - Record and replay browser sessions.
- Sequence Diagram - Visualise requests and responses as an interactive sequence diagram.
- Rewrite - Rewrite requests and responses, or write entirely new ones.
- Headers - View full request and response details including headers, parameters and cookies.
- Images - View images requested by your browser.
- Minification - Charles automatically minifies responses from web sites so that you see them as your browser does.
In summary, Charles is an indispensable tool for web developers and testers to debug traffic, inspect HTTP headers, set breakpoints, and much more during development, testing, and troubleshooting of web apps and sites.