In computer networks, a proxy server is a server, that could be a computer system or an application program that acts as a go-between for requests from clients seeking resources from other servers. In other word, proxy server called man in the midle between real server on internet and the client. Simple work from a proxy server, client connects to server, requesting some service, such as a file, connection, web page, or other resource, available from a different server that allocate on other network. The proxy server evaluates the request according to its filtering rules. For example, it may filter traffic by protocol, time access, or IP address. If the request is validated by the filter, the proxy provides the resource by connecting to the relevant 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 'caches' responses from the remote server, and returns subsequent requests for the same content directly. With this use, our connection to internet will be more simple because we didn't need to contact the real server to have what we want. We can set our proxy server to update the data to synchronous with the real server.
A proxy server has two main purposes:
- To keep machines behind it anonymous. It's really help us to keep our privacy and network security.
- To speed up access to a resource (via caching). It is commonly used to cache web pages from a web server.
A proxy server that passes 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 various points between the user and the destination servers or the Internet. A
reverse proxy is a proxy used as a front-end to accelerate and cache in-demand resources (such as a web page).