A proxy server is defined as “a computer that offers a network service to allow clients to make indirect network connections to other network services.” A client eventually connects to the proxy server, and he requests for a connection, or file, or other resources which are available on a different servers.
Proxy server provides resource either by connecting to the specified server or serves it from a cache. In some cases, the proxy alters client's request or server's responses for various purposes, usually to view websites that are normally not allowed, like game sites in school or social media sites in work place.
1) HTTP Request Sharing & Caching:-
Proxy server, receives a request for an Internet service like a Web page request from the user. If it passes the requirements, the proxy server, assuming it’s also a cache server, takes a look in its local cache of previously downloaded pages.
If the page is found, it returns it to the user without forwarding the request to the Internet. If the page is not found in the cache, the proxy server, acts as a client on behalf of the user, and uses one of its own IP address to request page from the server out of the Internet.
When it returns page, the proxy server relates it to the original request and forwards it on to the user.
There are two types of blocking:
a) URL Blocking
b) Client IP Blocking
3) Better response time
One of the advantages of a proxy server is that its cache can serve all the users. If one or more sites are frequently requested by user, these sites are likely to be in the proxy's cache, which improves user response time. In fact, special servers called cache servers are present.
Currently billions of web pages are present on the Internet but only some of them are frequently accessed. If these frequently used pages are stored nearer to the client and can be retrieved directly from there instead of accessing it from original server. The network traffic can be lowered down to a very considerable rate. This will be helpful in improving the client’s observed latency. Here we implement the Proxy Server for a LAN, which also acts as a firewall between LAN and Internet.
The firewall of proxy server has to block the HTTP request coming from an invalid IP address. It also has to stop to service the request for a link that is blocked by the proxy admin. The proxy server also has to have cache to store the web pages locally to reduce network load. A user friendly GUI is also needed to be supplied for proxy admin.