What is an application proxy?
An application proxy collects requests addressed to another server and functions as a proxy for the client to attain the requested service, in the same way as SOCKS proxies. You generally use an application proxy server when the client and server are incompatible with the direct connection. For example, the client cannot meet the server’s security authentication requirements but needs to be allowed some services.
The following list shows the features of an application proxy:
- Shares the TCP / IP connection between a client and server, while IP forwarding is not required
- Hides internal client IP addresses and only the public IP address of the proxy server is detectable from the external network
- Provides detailed access histories
- Authenticates uses
- Caches information
The most common type of proxy is the HTTP (HyperText Transfer Protocol) proxy. Most HTTP proxies also handle HTTPS (Hypertext Transfer Protocol Secure) and FTP (File Transfer Protocol). The Simple Mail Transfer Protocol (SMTP) relay is an example of an application proxy.
The main disadvantage of application proxies is that they have to support the application for which they execute the proxy function. Proxy servers do not sustain many TCP / IP applications. Additionally, application proxies do not normally encrypt service information.
The HTTP proxy must support Secure Sockets Layer (SSL) tunneling and may optionally require basic HTTP authentication.
What is SOCKS?
A SOCKS server or client is a TCP / IP proxy application that allows you to send information through a broad variety of protocols without providing internal network information. To operate a SOCKS server, the client must support the SOCKS protocol.
Some systems support a SOCKS client in its TCP / IP stack (versatile clients) so that all client applications can operate a SOCKS server. The client configuration grants the name of the SOCKS server to use and the rules for when the server should be used.
SOCKS servers are unaware of the application protocol they use. These servlets, for example, do not differentiate Telnet from Hypertext Transfer Protocol (HTTP). Therefore, SOCKS servers are more efficient than other proxy server applications. The inconvenience is that SOCKS servers cannot perform functions such as caching or logging URLs which you access through the server.
Almost all network applications can run through SOCKS proxies. For example, you can use SOCKS proxies to work with ICQ or an email client.
The big plus of SOCKS proxies is that you can use multiple SOCKS proxies in a chain. SOCKS proxies are anonymous because they are not linked to high-level protocols and do not update application headers. SOCKS proxies support different versions of the SOCKS 4, SOCKS 4a, and SOCKS 5 protocols.
When working with a proxy, you must remember that the proxy server can register (working report), storing all information about your IP address and all requests made from it, including passwords, credentials, and other important confidential data.
Also, special services or malicious users can control proxy servers, which sometimes are intentionally created for it. This is one danger of using public proxies and we will discuss more of this subject in another article.