Design and Implementation Of Proxy Server Under The Guidance Of Sr. Grade Lecturer Ms. Seema Nagaraj Project Associates : Mahamad Juber (1BI06MCA16) Naveen D (1BI06MCA23) Prakash T. M (1BI06MCA27)
Introduction <ul><li>While thinking about any of the Servers arises some questions like what is a Server, Client, Web or WWW and finally what is a Proxy Server. </li></ul>
SERVER is a program that provides resources to clients. Usually a server is a combination of hardware and software. E.g.: Print Server, Web Server, Proxy Server etc. CLIENT is simply any entity that wants to gain access to a particular server. Clients are programs that we use to access those resources from the server. WORLD WIDE WEB which is also known as WWW or simply the web, is an architectural framework for accessing linked documents spread out over millions of machines all over the Internet.
What is a Proxy Server ? A proxy server is a server that takes the capabilities of a firewall and combines them with a function of a content caching server. The resultant hybrid is a tool that can cache often used content, protect a network from unauthorized access or user, and hide the identity of internal clients by requesting resource on there behalf. Another way of stating this is that proxy server acts as a squire gateway for network clients.
<ul><li>Why do we need Proxy Server ? </li></ul><ul><li>Proxy Server acts as a gateway for all the nodes connected in LAN to world wide inter network and thus securing LAN by insecure Internet by providing the firewall. </li></ul><ul><li>Decreases the cost of connecting Internet to all the nodes. Only one server should have modem to allow all nodes to be connected to the Internet. </li></ul><ul><li>Security – Implementing various firewalls to provide security to an organization LAN. For eg. Restricted Sites Firewall, Web Content Firewall, etc. </li></ul><ul><li>Caching - Most recently used web pages are cached, in either hierarchical or distributive manner. This provides faster access to such pages. </li></ul><ul><li> </li></ul>
So how does a Proxy Server work? The project is implemented in java language. The project design is object oriented and multithreaded. In short we build a Java application that start with a main thread called Web Daemon. This Daemon creates socket data types called "Server Socket" in Java and on the endless loop listens to this main socket. On each request coming from main socket the Web Daemon creates a new thread to handle the request. This newly created thread is called Proxy and it handles the connection between application and the server. The Proxy thread then handles the Client’s request. It then checks if the requested object is cached or not. If the requested object is cached then calling a method on cached, the proxy receives the object from the cache manager and transfers the object to the client. If the requested object was not cached then the Proxy creates a socket and forwards a request to the server. After receiving the response from the server, the Proxy forwards the object to the client and the cache manager. Then the Proxy terminates.
WORK FLOW: WHEN AN HTML FILE FETCHED IS NOT FOUND IN CACHE Client Proxy Server Remote Server Cache
WORK FLOW: WHEN AN HTML FILE FETCHED IS FOUND IN CACHE Client Proxy Server Remote Server Cache Some Host H T T P
E-R Diagram: Cache Fetches from Proxy Server Requests from Client Port No. Checks for Restrictions Web Server Sites Keywords
Conclusion: <ul><li>Features: </li></ul><ul><li>It’s a HTTP Server. </li></ul><ul><li>Provides compatibility to handle text / html files. </li></ul><ul><li>Main aspect of using Proxy Server is to shift the burden of traffic of frequently accessed sites from respective servers (Between Web Server & Proxy Server). </li></ul><ul><li>The project is implemented in java language. The project design is object oriented and multithreaded. </li></ul><ul><li>Limitations: </li></ul><ul><li>It supports only HTTP 1.0 & HTTP 1.1 protocol. </li></ul><ul><li>It relies on file system of local OS , which may creates problem for concurrent access. </li></ul>
Thank you Presented By: Mahamad Juber (1BI06MCA16) Naveen D (1BI06MCA23) Prakash T. M (1BI06MCA27)