A proxy server mediates connections between two or more computers, acting to increase both security and privacy in the network. The proxy can either exist as a dedicated server running special software or as just an application running on a generalized machine. There are many ways to configure a proxy server, and an administrator can use them to block content to a network, cache data to increase transfer speeds or to bypass filters.
Most proxies are configured to perform caching of web data to speed up performance. These are often set up by default in most major Internet Service Providers (ISPs) and big businesses. The proxy server stores commonly accessed data from outside the network and makes it available when client machines request it. This reduces overall network load and improves the user experience.
The other major configuration feature shared by many proxies is connection filtering. This is heavily used in most academic and professional environments to protect network security, keep employees focused or to discourage illegal activity. Usually, website blacklists and port filtering are employed to try to keep network activity within prescribed limits.
Proxy servers can be configured to provide greater privacy to the client machine. These are referred to as anonymizing proxy servers, and can make it appear that the proxy server itself is a client machine, preserving the anonymity of the user. This only functions properly if the proxy server has a separate IP address from the client machine.
Security and Encryption
So-called reverse proxy servers are usually used to provide security and encryption for a group of other servers. These can protect the servers against hostile connections such as denial of service attacks, improve content delivery speed through caching, improve the efficiency of data encryption and route data more efficiently across each server in the group to prevent any one from becoming overloaded.
Evading Proxy Servers
Users can also configure a proxy server to avoid the effects of other proxy servers. These are called tunneling proxies, and allow those who use them to circumvent port blocks and content filtering. These tunneling servers can be blocked themselves, but it is not possible to prevent their usage entirely.