In computer networks, proxy server acts as intermediary for queries from internet users seeking resources from other servers. User joins the proxy server, requesting some service, such as webpage, connection, file or other resource available from other server and the proxy server estimates the request as a way to control and simplify its’ complexity. Nowadays, most proxy servers facilitate the access to the content on the World Wide Web (WWW).
A proxy server has plenty of potential purposes including:
- Keep machines anonymous for security;
- Speed up the access to internet content using caching. Web proxies are mostly used to cache web pages from a web server;
- Block the attempt to download same content multiple times in order to save bandwidth;
- Log and audit Internet usage;
- Scan transferred data for malware before delivery;
- Scan upload data in order to prevent data loss;
- Bypass webpage restrictions at work;
- Access restriction/enhancement;
- Apply access policy to network content or services;
- Access websites filtered or banned by your ISP or government;
- Bypass parental and security controls;
- Allow website to make requests to externally hosted resources such as music files, images, movie files, etc. when cross-domain restrictions block the website from connecting directly to the outside domains;
- Allow browser to make network requests to externally hosted content in a name of a website when cross-domain restrictions block the browser from directly accessing the outside domains.
Types of proxy
- A proxy server may operate on the user’s local computer or at various points between destination servers on the Internet and user’s computer;
- A proxy server which passes responses and requests unmodified is usually called a tunneling proxy or a gateway;
- A forward proxy is an Internet-facing proxy which retrieves from a large range of sources, mostly everywhere on the Internet;
- A reverse proxy usually is an Internet-facing proxy which is used as a front-end to protect and control access to a server on a private network, mostly performing tasks such as caching, authentication, load-balancing or decryption.