What is a Proxy Server?
A proxy server is a computer that offers a computer network service to
allow clients to make indirect network connections to other network
services. A client connects to the proxy server, then requests a
connection, file, or other resource available on a different server.
The proxy provides the resource either by connecting to the specified
server or by serving it from a cache. In some cases, the proxy may
alter the client's request or the server's response for various
purposes.
Web proxies
A common proxy application is a caching Web proxy. This provides
a nearby cache of Web pages and files available on remote Web servers,
allowing local network clients to access them more quickly or reliably.
When it receives a request for a Web resource (specified by a
URL), a caching proxy looks for the resulting URL in its local cache.
If found, it returns the document immediately. Otherwise it fetches it
from the remote server, returns it to the requester and saves a copy in
the cache. The cache usually uses an expiry algorithm to remove
documents from the cache, according to their age, size, and access
history. Two simple cache algorithms are Least Recently Used (LRU) and
Least Frequently Used (LFU). LRU removes the least-recently used
documents, and LFU removes the least-frequently used documents.
Web proxies can also filter the content of Web pages served.
Some censorware applications — which attempt to block offensive Web
content — are implemented as Web proxies. Other web proxies reformat
web pages for a specific purpose or audience; for example, Skweezer
reformats web pages for cell phones and PDAs. Network operators can
also deploy proxies to intercept computer viruses and other hostile
content served from remote Web pages.
A special case of web proxies are "CGI proxies." These are web
sites which allow a user to access a site through them. They generally
use PHP or CGI to implement the proxying functionality. CGI proxies are
frequently used to gain access to web sites blocked by corporate or
school proxies. Since they also hide the user's own IP address from the
web sites they access through the proxy, they are sometimes also used
to gain a degree of anonymity.
You may see references to four different types of proxy servers:
- Transparent Proxy - This type of proxy server identifies
itself as a proxy server and also makes the original IP address
available through the http headers. These are generally used for their
ability to cache websites and do not effectively provide any anonymity
to those who use them. However, the use of a transparent proxy will get
you around simple IP bans. They are transparent in the terms that your
IP address is exposed, not transparent in the terms that you do not
know that you are using it (your system is not specifically configured
to use it.)
- Anonymous Proxy - This type of proxy server
identifies itself as a proxy server, but does not make the original IP
address available. This type of proxy server is detectable, but
provides reasonable anonymity for most users.
- Distorting Proxy - This type of proxy server
identifies itself as a proxy server, but make an incorrect original IP
address available through the http headers.
- High Anonymity Proxy - This type of proxy server does not identify itself as a proxy server and does not make available the original IP address.