A proxy is defined as a server that acts as an intermediary for requests from clients seeking resources from other servers. A server can either be a computer system or an application program. A client usually connects to the proxy server to request some service that may include a web page, a connection, a file or other resource that is available on a different server. The proxy server is responsible for evaluating the requests according to its filtering rules for example it may filter traffic by IP address or protocol and if the filter the proxy provides the resource by connecting to the relevant server and request the service on its behalf of the client validates the requests. A proxy server may optionally alter the client's request or the server's response and in some cases, it may serve the request without contacting the specified server. Most proxies are web proxies that allow access to content that are on the World Wide Web. Proxy servers have several purposes that will include:
Keeping machines behind it anonymous for security purposes.
Speeding up access to resources.
Applying access policy to network services or content like blocking undesired sites.
Bypassing security or parental controls.
Scanning transmitted content for malware before delivery.
Circumventing regional restrictions.
Scanning outbound content.
Proxy servers that pass requests and replies unmodified are usually known as gateway or tunneling proxy. A proxy server can be placed in the user's local computer or at various points between the user and the destination servers on the internet. A reverse proxy is in most cases an internet facing proxy that is used as a front end to control and protect access to a server on a private network that is used for performing tasks that will include load balancing, decryption or caching as well as authentication. There are several types of proxies and these will include:
Forward proxies that takes requests from an internal network and forwards them to the internet. In these proxies, the client server names the target server to connect to.
Open proxies where requests are forwarded to and from anywhere on the internet. Open proxies are forward proxy servers that are accessible by any internet user.
Reverse proxies that take requests from the internet and forward them to servers in an internal network. It appears to be an ordinary server where requests are forwarded to one or more origin servers, which handle the request.
There are also several uses of proxy servers such as Filtering that provides administrative control over the content that may relayed through proxy. This is usually used in both in commercial and non-commercial organizations in order to make sure that internet usage conforms to acceptable use policy. The filtering also supports user authentication in order to control web access. It also communicates to daemon-based and ICAP-based antivirus software in order to provide security against viruses and other malware by scanning incoming content in real time before it has entered the network.
Author Resource:
This article touched the basics of the topic. I have 2 more resources related to the above. They are proxy and proxy . They are worth a read.