Proxy server is a computer that sits between a client computer and a real server, and provide indirect network services to a client. A proxy server intercepts all client requests, and provide responses from its cache or forward the request to the real server.
Proxy servers are used for a few purposes. If it is used as a caching web proxy, it can dramatically improve performance of a web response. When a request is made by a client, a caching proxy returns response directly from its cache if the document exists. Otherwise, it makes the request to the real server, returns the result, and save it in its cache for later use.
Proxy servers may also be used as a web proxy to filter web page contents. An organization or company may use a proxy server to block offensive web contents from viewed by the users. Internet Service providers may also use proxies to block computer viruses and other offensive contents.
With organizations deploying proxy servers to block its users from accessing specific websites such as myspace.com, users may also use web proxy to access those blocked sites indirectly. Those web proxies are built with PHP or CGI to implement the proxying functionality, and provide web access to those sites blocked by corporation and school proxies.