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, and 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, usually to view websites that are normally not allowed, such as game sites in school or work place.
HTTP Request Sharing and Caching:
A proxy server receives a request for an Internet service (such as a Web page request) from a user. If it passes filtering requirements, the proxy server, assuming it is also a cache server, looks in its local cache of previously downloaded Web pages. If it finds the page, it returns it to the user without needing to forward the request to the Internet. If the page is not in the cache, the proxy server, acting as a client on behalf of the user, uses one of its own IP addresses to request the page from the server out on the Internet. When the page is returned, the proxy server relates it to the original request and forwards it on to the user.
There are two types of blocking:
Client IP Blocking
Better response time
An advantage of a proxy server is that its cache can serve all users. If one or more Internet sites are frequently requested, these are likely to be in the proxy's cache, which will improve user response time. In fact, there are special servers called cache servers. A proxy can also do logging.
Currently there are billions of web pages on the Internet but only a fraction of them are frequently accessed. If these frequently used web pages are stored much nearer to the client and retrieved directly from there instead of accessing from original server. The network traffic can be brought down to a very considerable extent. This will also improve the client observed latency. Here we are implementing the Proxy Server for a LAN, which also acts as a firewall between LAN and Internet
The firewall of proxy has to block the HTTP request emanating from an invalid IP address. It also has to not to service the request for any link which is blocked by the proxy administrator. The proxy has to have cache to store the web pages locally to reduce latency and network load. A user friendly Graphical User Interface also needed to be supplied for proxy administrator.