A proxy is a computer that stands in for another computer in a connection. The computers that perform this service are called proxy servers. In any connection, there is a client and a server. The client initiates the connection and requests a service from the server. The role of the proxy server depends on which party in the connection it serves. An HTTP proxy serves the client.
HTTP stands for Hypertext Transfer Protocol. This system transports Web pages over the Internet. Other systems include HTTPS and FTP. HTTPS stands for Hypertext Transfer Protocol Secure and is used for encrypted connections. FTP stands for the File Transfer Protocol and is used for transferring files. An HTTP proxy only handles Internet traffic carried by HTTP and leaves all requests handled by other protocols.
All web-accessing applications have a network settings section in their configuration. The most common application for accessing the World Wide Web is the web browser. The user can see which protocol is in operation for a transfer because the protocol abbreviation appears before the address of the site being visited in the address bar. It will show “http://” or “ftp://” and so on. When an HTTP proxy is in operation for that browser all addresses entered in the address bar that start with “http://” will cause the browser to contact the HTTP proxy, carrying the entered address as a request. The browser will not contact any web server over an HTTP connection while the HTTP proxy server settings are in place.
When a Web browser sends a request to a Web server, it discloses a certain amount of information about itself, the computer it is running on and its location. This is unavoidable. The server at least has to know the address to which the response is to be sent. The only way to prevent the server from gaining the client's details is to get the proxy server to deliver the request instead. By this method, the server believes the proxy server is the client. The HTTP proxy sends the request together with its IP address. It then receives the response. In a separate transaction, the proxy delivers this information to the client, as though it were the original server.
The main reason an individual would use an HTTP proxy is to prevent the end server knowing the location, or address, from which the request originated. An example of where this can be an advantage is where TV stations forbid connections from computers outside their country. By selecting a proxy server within the TV stations country, the user can fool the regional controls of the site and watch content from banned locations. Another advantage is that proxy servers also act as firewalls. They trap any bits of code that a website might try to download onto the client's computer, thus reducing the risk of malicious attack.