The exchange of information in Internet takes place through the “client – server” model. A client sends a request (what files it needs) and a server sends a reply (required files). For close cooperation (full understanding) between a client and a server the client sends additional information about itself: the version and name of operating system, configuration of browser (including its name and version) etc. This information can be necessary for the server in order to direct the client to appropriate web-page. There are different variants of web-pages for different configurations of browsers. However, as long as web-pages do not depend on browsers, it makes sense to hide this information from the web-server.
anonymous-proxy-server

What your browser transmits to a web-server?
1. The name and version of operating system.
2. The name and version of browser.
3. Configuration of the browser (display resolution, color depth, java / javascript support, …)
4. IP-address of client

Other informations

The most important part of such information (and of no use for a web-server) is information about IP-address. Using your IP it is possible to know about you the following:
1. The country where you are from
2. The city
3. Your internet service provider’s name and e-mail
4. Your physical address

Information, transmitted by a client to a server is accessible for a server as environment variables. Every information unit is a value of some variable. If any information unit is not transmitted, then corresponding variable will be empty (its value will be undetermined).

These are some environment variables:

REMOTE_ADDR ? IP address of a client

HTTP_VIA ? If it is not empty, then a proxy is used. Value is an address (or several addresses) of a proxy server, this variable is added by a proxy server itself if you use one.

HTTP_X_FORWARDED_FOR ? If it is not empty, then a proxy is used. Value is a real IP address of a client (your IP), this variable is also added by a proxy server if you use one.

HTTP_ACCEPT_LANGUAGE ? What language is used in browser (what language a page should be displayed in)

HTTP_USER_AGENT ? Browser’s name and version (e.g. MSIE 5.5) and the operating system (e.g. Windows 98) is also mentioned here.

HTTP_HOST ? is the web server’s name

This is a small part of environment variables. In fact there are much more of them (DOCUMENT_ROOT, HTTP_ACCEPT_ENCODING, HTTP_CACHE_CONTROL, HTTP_CONNECTION, SERVER_ADDR, SERVER_SOFTWARE, SERVER_PROTOCOL, …). Their quantity can depend on settings of both a server and client.

These are examples of variable values:

REMOTE_ADDR = 194.85.1.1
HTTP_ACCEPT_LANGUAGE = ru
HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)
HTTP_HOST = www.webserver.ru
HTTP_VIA = 194.85.1.1 (Squid/2.4.STABLE7)
HTTP_X_FORWARDED_FOR = 194.115.5.5

Anonymity at work in Internet is determined by what environment variables “hide” from a web-server.

If a proxy server is not used, then environment variables look in the following way:

REMOTE_ADDR = your IP
HTTP_VIA = not determined
HTTP_X_FORWARDED_FOR = not determined

According to how environment variables are “hiden” by proxy servers, there are several types of proxies.

Transparent Proxies:
They do not hide information about your IP address:

REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = your IP

The function of such proxy servers is not the improvement of your anonymity in Internet. Their purpose is information cashing, organization of joint access to Internet of several computers, etc.

Anonymous Proxies:
All proxy servers, that hide a client’s IP address in any way are called anonymous proxies

Simple Anonymous Proxies:
These proxy servers do not hide a fact that a proxy is used, however they replace your IP with its own:
REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = proxy IP

These proxies are the most widespread among other anonymous proxy servers.

Distorting Proxies:
As well as simple anonymous proxy servers these proxies do not hide the fact that a proxy server is used. However a client’s IP address (your IP address) is replaced with another (random) IP address:

REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = random IP address

High Anonymity Proxies:
These proxy servers are also called “high anonymity proxy”. In contrast to other types of anonymity proxy servers they hide a fact of using a proxy:

REMOTE_ADDR = proxy IP
HTTP_VIA = not determined
HTTP_X_FORWARDED_FOR = not determined

That means that values of variables are the same as if proxy is not used, with the exception of one very important thing, proxy IP is used instead of your IP address.

Summary

Depending on purposes there are transparent and anonymity proxies. However, remember, using proxy servers you hide only your IP from a web-server, but other information (about browser configuration) is accessible!

You can also check the following posts :

Do you like this post?

About

Bishwajeet Mahato is the Founder and CEO of Comptalks, an online portal and offline college magazine.He loves writing about technology and helps people solve their computer related problems. Nowadays, he is also interested in digital marketing and has worked for several top notch companies. Follow him on Twitter @mahato99

Comments:
  1. proxy

    I found a site that allows me to access myspace or facebook from work and school bookfaceoxy.com

  2. Sammy Mitchell

    Thanks for the added info, is always good to learn. Thanks again

  3. Skype Spanish

    Pretty cool post. I just stumbled upon your blog and wanted to say that I have really liked browsing your blog posts. In any case I’ll be subscribing to your feed and I hope you write again soon!

  4. rijans

    This is really help full wiki for understanding about proxy server and how it works. Thanks Bishwajeet.

  5. Key web Jobs Online

    When some one searches for his required thing, thus he/she wishes to be available that in detail, thus that thing is maintained
    over here.

Leave a Reply

(required)

(required)


Copyright © 2008-2012 Comptalks - All Rights Reserved.