Proxy server (proxy) – software or server with appropriate software that performs certain operations (usually establishes connections) on behalf of the user. Often equated with an HTTP proxy.
The user outsources tasks to an intermediary using the appropriate client. For FTP and HTTP services, this is the FTP client and web browser. In addition to these popular solutions, there are also others, such as application intermediaries (proxy) transferring application requests, in fact it acts as a middleware and performs “data dependent routing”. Other types of intermediaries may support e.g. network voice and other service protocols.
Proxy servers differ depending on where at what point they are between the client and the target server. Usually, if the server is closer to the user, it is a forward proxy (or residential proxy), and if it is further, it is a reverse proxy.
These types of servers can be used to partially anonymize or speed up communication. They are characterized by the fact that they are beyond the control of the target servers. The user, or more generally the client, connects to such a server and it downloads data somewhere from anywhere on the Internet. Anonymization may be based on hiding the IP address of the computer on which the user works. The open proxy server may, however, intentionally give the user’s source IP via the X-Forwarder-For header.
Servers of this type can have many applications, including offloading target servers, caching or hiding target servers. They are characterized by the fact that they are prepared for a specific server or target servers. They can be located in the same server room as the target server, but they can also be part of a delivery network (CDN) scattered over a large area.