In computer networks, a proxy server is a server (a computer system or an application program) which services the requests of its clients by forwarding requests to other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server. The proxy server provides the resource by connecting to the specified server and requesting the service on behalf of the client. A proxy server may optionally alter the client's request or the server's response, and sometimes it may serve the request without contacting the specified server. In this case, it would 'cache' the first request to the remote server, so it could save the information for later, and make everything as fast as possible.
A proxy server that passes all requests and replies unmodified is usually called a gateway or sometimes tunneling proxy.
A proxy server can be placed in the user's local computer or at specific key points between the user and the destination servers or the Internet.
Although you are at this site, you might still want to know exactly what a Proxy Server is. Put simply a Proxy Server is a courier of information. It acts as a middle man between one computer and another. This may be to remain Anonymous, or to just bridge a connection between two networks. The reasons do however vary quite alot.
There are many different types of Proxy Servers out there. Depending on the purpose you can get Proxy Servers to route any of these common protocols, and many more:
FTP
HTTP
Gopher
IRC
MSN
AIM
ICQ
VOIP
SSL
So out of the common types of Proxy Servers, you end up with the following:
FTP Proxy Server:
Relays and caches FTP Traffic.
HTTP Proxy Server:
A one way request to retrieve Web Pages.
Socks Proxy Server:
A newer protocol to allow relaying of far more different types of data, whether TCP or UDP.
NAT Proxy Server:
This one works a little different, it allows the redirection of all packets without a Program having to support a Proxy Server.
SSL Proxy Server:
An extension was created to the HTTP Proxy Server which allows relaying of TCP data similar to a Socks Proxy Server. This one done mainly to allow encryption of Web Page requests.
Furthermore, a Proxy Server can be split into another two Categories:
Anonymous:
An Anonymous Proxy Server blocks the remote Computer from knowing the identity of the Computer using the Proxy Server to make requests.
Transparent:
A Transparent Proxy Server tells the remote Computer the IP Address of your Computer. This provides no privacy.
Anonymous Proxy Servers can further be broken down into two more categories, Elite and Disguised. An Elite Proxy Server is not identifiable to the remote computer as a Proxy in any way. A Disguised Proxy Server gives the remote computer enough information to let it know that it is a Proxy, however it still does not give away the IP of the Computer it is relaying information for.