Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I need the program done in C. Please post a screenshot of compiling and executing so I know how to do it my self. Many

image text in transcribedimage text in transcribedimage text in transcribed

I need the program done in C.

Please post a screenshot of compiling and executing so I know how to do it my self.

Many thanks.

Objective: Create a web proxy server that can be connected by a single client and would only allow http requests. The proxy server should be able to cache up to five recent websites. Requirements: 1. Create a C-based proxy server and a client using TCP sockets 2. The proxy server should be able to accept and service single client's http requests 3. The proxy server should be able to process the client's request and forward the response to the client 4. The proxy server should run on cse01.cse.unt.edu machine and the client should run on cse02.cse.unt.edu machine 5. The proxy server should be able to cache at least five recent requested webpages, if available Procedure: 1. Create a C-based server that can accept single client's request using TCP sockets 2. The created proxy server should also be able to process the client HTTP request 3. Make sure the proxy server runs on cse01.cse.unt.edu and the format to start the proxy server as follows pserver where pserver is the proxy server executable and port_number is the port number on which the proxy server listens 4. Create a C-based client that can connect to the proxy server using TCP sockets 5. Make sure the client runs on cse02.cse.unt.edu and connects to the proxy server. The user can request the desired web page using the below format client url: where client is the client executable, port_number is the port number on which the client connects the server and url is the requested url starting with www 6. Once the proxy server gets a request from the client, it checks the cache for the requested page. If the page is not found in the cache, then it forwards the request to the web server. Figure 1 shows the overall architecture 7. The proxy server checks for the response from the web server 8. If the HTTP response is 200, the returned web page from the web server is cached in the proxy server. The proxy server stores the webpage in a file and assigns a filename based on the time of visit. The filename format is YYYYMMDDhhmmss. Where YYYY is the year, MM is the month, DD is the day, hh is the hour in 24-hour format, mm is the minutes, and ss is the seconds when the website was visited 9. A list file (list.txt) is created which stores the URL of the webpage and the associated cached web page filename 10. The list file stores five recent URLs. The cached websites that are not listed in the list file should be deleted 11. Once the returned web page is cached, the web page is forwarded to the client. Verify to see if the returned page is same as the browser returned page. 12. If the HTTP response is not 200, do not cache the web page instead forward the HTTP response to the client 13. When the client requests a webpage that is in the list.txt file (cached) the stored page is returned 14. Test web caching by accessing multiple websites 15. A sample list.txt is available on Canvas for reference. - - - Client Computer cse02.cee.unt.edu Proxy Server Cse01cse unt.edu Objective: Create a web proxy server that can be connected by a single client and would only allow http requests. The proxy server should be able to cache up to five recent websites. Requirements: 1. Create a C-based proxy server and a client using TCP sockets 2. The proxy server should be able to accept and service single client's http requests 3. The proxy server should be able to process the client's request and forward the response to the client 4. The proxy server should run on cse01.cse.unt.edu machine and the client should run on cse02.cse.unt.edu machine 5. The proxy server should be able to cache at least five recent requested webpages, if available Procedure: 1. Create a C-based server that can accept single client's request using TCP sockets 2. The created proxy server should also be able to process the client HTTP request 3. Make sure the proxy server runs on cse01.cse.unt.edu and the format to start the proxy server as follows pserver where pserver is the proxy server executable and port_number is the port number on which the proxy server listens 4. Create a C-based client that can connect to the proxy server using TCP sockets 5. Make sure the client runs on cse02.cse.unt.edu and connects to the proxy server. The user can request the desired web page using the below format client url: where client is the client executable, port_number is the port number on which the client connects the server and url is the requested url starting with www 6. Once the proxy server gets a request from the client, it checks the cache for the requested page. If the page is not found in the cache, then it forwards the request to the web server. Figure 1 shows the overall architecture 7. The proxy server checks for the response from the web server 8. If the HTTP response is 200, the returned web page from the web server is cached in the proxy server. The proxy server stores the webpage in a file and assigns a filename based on the time of visit. The filename format is YYYYMMDDhhmmss. Where YYYY is the year, MM is the month, DD is the day, hh is the hour in 24-hour format, mm is the minutes, and ss is the seconds when the website was visited 9. A list file (list.txt) is created which stores the URL of the webpage and the associated cached web page filename 10. The list file stores five recent URLs. The cached websites that are not listed in the list file should be deleted 11. Once the returned web page is cached, the web page is forwarded to the client. Verify to see if the returned page is same as the browser returned page. 12. If the HTTP response is not 200, do not cache the web page instead forward the HTTP response to the client 13. When the client requests a webpage that is in the list.txt file (cached) the stored page is returned 14. Test web caching by accessing multiple websites 15. A sample list.txt is available on Canvas for reference. - - - Client Computer cse02.cee.unt.edu Proxy Server Cse01cse unt.edu

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Object Databases The Essentials

Authors: Mary E. S. Loomis

1st Edition

020156341X, 978-0201563412

More Books

Students also viewed these Databases questions