Almost every proxy software application and proxy list provider categorizes proxies into three different categories that depend on the anonymity level achieved by the proxy. Generally the proxy anonymity levels are descending from level 3 to 1. Proxy Servers in the Level 1 category provide the best possible level of anonymity that a proxy can have, and proxy servers in the Level 3 category provide the lowest amount of anonymity – none. Often these levels are named Transparent, Anonymous, and Elite/High-Anonymous from Level 3 to 1. Another variation of the naming scheme is Transparent, Distorting, and Anonymous.
They way proxy servers work is by taking a client’s request and forwarding to the remote server, and then forwarding the remote server’s response back to the client. While a proxy server is acting as middle-man and forwarding HTTP Requests between a client and another web-server, it may or may not be adding extra information to the request HTTP Headers that the target server is receiving. Depending on exactly what information the proxy server is including in it’s requests determines the level of the proxy anonymity. (Learn more about proxy servers and how a proxy works here.)
Transparent, Anonymous/Distorting, and Elite/High-Anonymous Proxies.
It’s worth noting here that some HTTP header fields are standard while some are not. Some HTTP header fields were created and meant to be used by certain organizations and companies, such as X-Forwarded-For HTTP header field that was introduced by Squid proxy server software. This will be mentioned again later!
Level 3 – Transparent Proxies
Transparent Proxies are Level 3 proxies that forward information detailing the use of a proxy and the client’s IP address, therefore they provide zero anonymity when used. Transparent proxies usually have the HTTP_VIA = header that may or may not expose a client’s real IP, a REMOTE_ADDR = header that also may or may not expose a client’s real IP, and most importantly an HTTP_X_FORWARDED_FOR = header that will definitely expose a client’s real IP address.
However, Transparent proxies are not completely useless. Just because they identify as a proxy and include a client’s IP address does not mean the server receiving the requests will look or care, so if using these proxies to get around a geo-block or ip-block then it may still work if the receiving server is not that strict. Plus, depending on the location of the transparent proxy server and the requested server, a transparent proxy acts similar to a caching proxy and can improve stability and speeds.
Level 2 – Anonymous/Distorting Proxies
Anonymous/Distorting Proxies in the Level 2 category, on the other hand, do provide a certain level of anonymity by only forwarding certain information that reveals itself as a proxy while not revealing the client’s IP address. For a proxy to be considered Anonymous, or distorting, an HTTP_X_FORWARDED_FOR = header or similar variation will be present that servers interpret as a proxy. However, there should not be the presence of an HTTP_VIA = header or any other header that reveals a client’s true IP Address, and a distorting proxy may even show a fake/bogus IP address. If any header includes a client’s real IP then the proxy is considered a level 3 Transparent Proxy, even if the header is custom and not used by many web servers.
Level 1 – Elite/High-Anonymous Proxies
Elite/High-Anonymous Proxies are the best type of proxies for providing a high level of anonymity. High-Anonymous, or Elite Proxies, do not reveal a client’s IP address through any HTTP headers and do not identify themselves as even being proxies. The only way a remote server can detect your true IP Address through an Elite/High-Anonymous proxy is to use a script on a web page to check your IP using JavaScript or Flash, which is why most proxy anonymity checking websites warn users to turn off Flash and JavaScript.