15-06-2013, 12:16 PM
SYNOPSIS ON HTTP PROXY SERVER
HTTP PROXY.docx (Size: 149.93 KB / Downloads: 17)
Introduction:
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.
Features:
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.
AIM
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.
CONCLUSION
This project is designed to act as a http proxy server. It includes the following:
• A robust caching mechanism, that is optimized to minimize the time that end users wait for documents to load by giving preference to documents that must be loaded over the slowest Internet links, that are from servers that take long time to connect to, that have been referenced more frequently, and that are small.
• Multithreading, to allow concurrent handling of several HTTP requests. Great care has been given to concurrency control, to ensure mutual exclusion between threads where needed and to avoid deadlocks.
• Customization of the proxy is done via the graphical interface.
• This project include feature of filtering of sites.