A proxy is a software instance or a server that acts as an intermediary in a network. It receives requests and forwards them by proxy. Proxies can be used, for example, to obfuscate communication between local end devices and web servers, to speed it up, or to secure it.
What is a proxy?
A proxy is a software instance or server that accepts requests as an intermediary and forwards them vicariously under its own identity. For the client and the server of a connection, the respective addresses of the counterpart are hidden.
However, the addresses are not simply exchanged as in a NAT connection, but the proxies carry out the complete communication with their identity. The exchanged data packets can be subjected to further analysis or modified. Depending on the type of proxy, it serves single or multiple protocols.
Proxies can be equipped with a cache and answer recurring requests from this memory. The retrieval of always the same Internet pages can be accelerated in this way. Proxies can be implemented in many different variants such as forwarding proxies, reverse proxies, transparent proxies, generic proxies, or dedicated proxies.
The possible uses of a proxy
Proxies can be used for different purposes depending on their type. Thanks to their proxy role, they can filter, cache, control, or modify the data exchanged in the connections. Often, proxies have the task of protecting internal devices or services from external threats by anonymizing and obfuscating the communication partners.
Unwanted data can be blocked and suspicious requests rejected. If caching is used, proxies save external bandwidth and simultaneously accelerate communication or the retrieval of Internet content. Another task of a proxy is to distribute the communication load and control the available bandwidth. Individual connections can be allocated specific bandwidths to make better use of available resources.
The different proxy types and variants
Proxies can be divided into many different types and variants. Among others, the following proxies are possible:
- Visible proxies
- Transparent proxies
- Forwarding proxies
- Reverse proxies
- Generic proxies
- Dedicated proxies
The difference between visible and transparent proxies is that visible proxies appear to the communication partners as an independent communication instance, while transparent proxies remain hidden to one or both communication partners at the network level. One or both remote peers have no knowledge that a proxy has joined the connection.
Forwarding and reverse proxies behave differently in terms of their direction of operation. The forwarding proxy is located between a private network and the Internet. It communicates towards the Internet on behalf of the local clients in the private network. The working direction of a reverse proxy is the other way round. It accepts requests from the Internet to forward them to a destination in the local private network by proxy.
Dedicated proxies are responsible for only one communication protocol, such as HTTP, SMTP, or FTP. If a proxy is capable of serving multiple protocols by proxy and is not specialized for only one, it is called a generic proxy.