Starting from:
$35

$29

Project #1 A Web Proxy Server Solution




The objective of the exercise is to implement a Web Proxy Server. A Web proxy is a local server, which fetches items from the Web on behalf of a Web client instead of the client fetching them directly. This allows for caching of pages and access control.




The program should be able to:

1. Respond to HTTP & HTTPS requests, and should display each request on a management console. It should forward the request to the Web server and relay the response to the browser.

2. Handle websocket connections.

3. Dynamically block selected URLs via the management console.

4. Efficiently cache requests locally and thus save bandwidth. You must gather timing and

bandwidth data to prove the efficiency of your proxy.

5. Handle multiple requests simultaneously by implementing a threaded server.




The program can be written in a programming language of your choice. However, you must ensure that you do not overuse any API or Library functionality that implements the majority of the work for you.




Note

• You should provide a high-level description of the protocol design and implementation. A listing of the code should also be provided along with meaningful comments. You are required to submit a single PDF file containing the documentation and code using the Turnitin system.

• All submitted work must be original and your own. Please familiarize yourself with the College Plagiarism guidelines - https://www.tcd.ie/undergraduate-studies/general- regulations/plagiarism.php. Submissions that are similar to each other will result in zero marks being awarded to all parties that are identified.

• Late submissions will not be accepted unless accompanied by a medical certificate or an email from your Tutor outlining the reasons for the lateness.

• This project is worth 10% of the marks and will be graded out of 100 marks




Demonstrations will take place during week six of the semester on Tuesday the 26th of February 2019 between 10-12pm in LG.12 in the O’Reilly Institute. You will be required to demonstrate a working prototype of your work, explain your design choices, talk through parts of your code which implement important aspects of your work, and answer any queries from the teaching assistants.

More products