Charles
-
Upload
keegan-street -
Category
Technology
-
view
1.625 -
download
7
description
Transcript of Charles
![Page 1: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/1.jpg)
DEBUGGING WITH CHARLESKeegan Street (@kstre)
Front End Dev at Deloitte Digital
Tuesday, 31 July 12
![Page 2: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/2.jpg)
What is Charles?
CharlesBrowsers/apps
An HTTP proxy sitting between your browsers/apps and the Internet.
The Internet
Tuesday, 31 July 12
![Page 3: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/3.jpg)
Features of Charles• Record Requests
• Throttling
• Breakpoints
• SSL Proxying
• Reverse Proxy
• Port Forwarding
• Cache Busting Tool
• Block Cookies Tool (for testing)
• Local Mappings
• Remote Mappings
• Automatic Rewrite Tool
• Blacklist
• DNS Spoofing
• Mirroring
• Repeat/Modify Requests Tool
• Basic Load Testing
• Markup Validation
• Web Interface (could be used as an API)
• Testing Across Devices
Tuesday, 31 July 12
![Page 4: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/4.jpg)
Tuesday, 31 July 12
![Page 5: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/5.jpg)
CACHE BUSTING TOOLTuesday, 31 July 12
![Page 6: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/6.jpg)
A Normal HTTP Request
GET /css/global.css HTTP/1.1Host: static.southaustralia.comUser-Agent: Mozilla/5.0 ...Accept: text/css,*/*;q=0.1If-Modified-Since: Fri, 08 Jun 2012 08:24:44 GMTIf-None-Match: "06e55285045cd1:0"Referer: http://www.southaustralia.com/Accept-Language: en-usAccept-Encoding: gzip, deflateConnection: keep-alive
Tuesday, 31 July 12
![Page 7: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/7.jpg)
An HTTP Request with Charles “No Caching”
GET /css/global.css HTTP/1.1Host: static.southaustralia.comUser-Agent: Mozilla/5.0 ...Accept: text/css,*/*;q=0.1If-Modified-Since: Fri, 08 Jun 2012 08:24:44 GMTIf-None-Match: "06e55285045cd1:0"Referer: http://www.southaustralia.com/Accept-Language: en-usAccept-Encoding: gzip, deflateConnection: keep-alivePragma: no-cacheCache-Control: no-cache
--
++
Tuesday, 31 July 12
![Page 8: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/8.jpg)
Cache Busting Tool
Removed Added
Request If-Modified-Since: ...If-None-Match: ...
Pragma: no-cacheCache-control: no-cache
ResponseExpires: ...Last-Modified: ...ETag: ...
Expires: 0Cache-Control: no-cache
Works by adding and removing headers from HTTP requests and responses.
Tuesday, 31 July 12
![Page 9: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/9.jpg)
REMOTE MAPPINGS& LOCAL MAPPINGS
Tuesday, 31 July 12
![Page 10: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/10.jpg)
Remote Mappings
•Configure a mapping from one URL to another to transparently serve assets from a different location.
•Example usage: Map jquery-1.5.1.js to code.jquery.com/jquery-1.7.2.js on your production server and see if it breaks.
Tuesday, 31 July 12
![Page 11: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/11.jpg)
Local Mappings
•Same as remote mappings, but they are used to map remote URLs to local assets.
•Example usage: Make your production server load all JavaScript and CSS files from your local development folder.
Tuesday, 31 July 12
![Page 12: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/12.jpg)
Tuesday, 31 July 12
![Page 13: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/13.jpg)
Tuesday, 31 July 12
![Page 14: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/14.jpg)
Tuesday, 31 July 12
![Page 15: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/15.jpg)
Tuesday, 31 July 12
![Page 16: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/16.jpg)
Tuesday, 31 July 12
![Page 17: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/17.jpg)
Tuesday, 31 July 12
![Page 18: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/18.jpg)
Tuesday, 31 July 12
![Page 19: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/19.jpg)
Tuesday, 31 July 12
![Page 20: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/20.jpg)
Tuesday, 31 July 12
![Page 21: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/21.jpg)
Tuesday, 31 July 12
![Page 22: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/22.jpg)
BREAKPOINTS
Tuesday, 31 July 12
![Page 23: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/23.jpg)
Breakpoints
• Intercept requests and responses and modify them before they are sent.
• Is the front-end sending incorrect parameters? Try modifying the request.
• Is the server returning something unexpected? Try modifying the response.
Tuesday, 31 July 12
![Page 24: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/24.jpg)
Tuesday, 31 July 12
![Page 25: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/25.jpg)
Tuesday, 31 July 12
![Page 26: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/26.jpg)
Tuesday, 31 July 12
![Page 27: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/27.jpg)
Tuesday, 31 July 12
![Page 28: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/28.jpg)
Tuesday, 31 July 12
![Page 29: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/29.jpg)
Tuesday, 31 July 12
![Page 30: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/30.jpg)
Tuesday, 31 July 12
![Page 31: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/31.jpg)
Tuesday, 31 July 12
![Page 32: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/32.jpg)
Tuesday, 31 July 12
![Page 33: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/33.jpg)
Tuesday, 31 July 12
![Page 34: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/34.jpg)
Tuesday, 31 July 12
![Page 35: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/35.jpg)
Tuesday, 31 July 12
![Page 36: Charles](https://reader031.fdocuments.in/reader031/viewer/2022020105/5463adb5b4af9f4e3f8b4607/html5/thumbnails/36.jpg)
Tuesday, 31 July 12