Giter Club home page Giter Club logo

uppli29 / multithreaded-proxy-server- Goto Github PK

View Code? Open in Web Editor NEW

This project forked from siddharthjadhav7/multithreaded-proxy-server-

0.0 0.0 0.0 6 KB

A Java based application that creates a multi-threaded web proxy server that is capable of processing multiple simultaneous service requests in parallel. It enables caching and supports only GET method and handles errors whenever a client requests an object that is not available.

Java 100.00%

multithreaded-proxy-server-'s Introduction

******************** TITLE: Multithreaded Proxy Server with Caching ********************


////////Contents////////
 
1)Introduction  
2)System Requirements
3)How to configure the proxy settings 
4)How to run the program
5)References 


1)Introduction:

This is a program which acts as a proxy server in which the client makes a request to the proxy server. The proxy server then checks its local cache for the request.
If the requested page or file is present in its cache then it directly returns it back to the requesting client.If the request is not present its cache then the proxy
server forwards this request to the web server.It fetches the response back from the web server and sends it to the client. This program runs in a multi threaded
environment i.e. each request from the client runs in a separate thread.The proxy server is created to process only GET requests.    



2)System Requirements:

a)A executable version of JDK(Java Development Kit) or JRE(Java Runtime Environment).
b)A running version of Eclipse.(Used: Eclipse Mars)



3)How to configure the proxy settings:

a)Go to Firefox browser and open the menu. 
b)Click on options.
c)Select the Advanced option.
d)Choose the Network tab and clear the cached web content by clicking on clear now. 
e)Then click on settings.
f)Select the Manual proxy settings option.
g)Enter the HTTP proxy as 127.0.0.1 and the port number as 8080.  

 

4)How to run the program:

a)Import the project in a running version of Eclipse.
b)Right Click on the project folder and run the program as a java application.
c)Then enter the url in the browser as follows-  http://www.yahoo.com/ or  http://www.firefox.com/ or https://facebook.com/
d)Then right click on the project and choose refresh option.
e)The logRequests.txt folder appears below JRE System Library.
f)Double click on this file to open it.
g)This file contains the following information:
 
 Date and Time
 Host Name 
 CLIENT IP ADDRESS
 REQUEST LENGTH 
 RESPONSE LENGTH 
 TIME ELAPSED 
 HOST IP ADDRESS 
 HOST PORT NUMBER 

i)If the request is not available in cache then a message is printed in console.
g)Else if it is present in cache it prints available in cache in console.



5)References:

a)http://tutorials.jenkov.com/java-multithreaded-servers/multithreaded-server.html
b)http://www.tutorialspoint.com/javaexamples/net_multisoc.htm
c)http://www.java2s.com/Tutorial/Java/0320__Network/AmultithreadedSocketServer.htm
d)https://abet.soe.ucsc.edu/sites/default/files/ce155-middle.pdf
e)http://www.christianschenk.org/blog/implementing-a-simple-cache-with-java/







multithreaded-proxy-server-'s People

Contributors

siddharthjadhav7 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.