15.1. Problem and Solution
The Proxy Design Pattern has always seemed like second nature to me. I remember hiding in my parent's basement, on the old computer, and reading some material about security exploits and penetration testing. The one thing that everyone harped on over and over was to use a proxy. Whenever a security exploit was tested, the use of a proxy was expected to provide a layer of anonymity between the tester and the target system. A proxy, by design, accepts and then retransmits the data it receives. In this case, the hope was that the origin of the test was shadowed by the intermediate usage of proxies.
Other more upright and common implementations of proxies exist, however. Proxy servers, which work as a web resource cache, are in place on some corporate networks. The internal network browsers communicate directly to the proxy server. It then checks its cache to determine if it has the resource on its local disk. If it does, it replies with that. Otherwise, it forwards the request transparently. Other networks take this a step further by installing a content-filtering proxy. This watches the traffic for websites that are against company policy. If the proxy finds a website that employees should be restricted from viewing, it stops the attempt. All other requests are sent transparently through. From the browsers' point of view, they don't know they're surfing through a proxy — well, that is until they try to go to a restricted page!
The Proxy Design Pattern ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access