SlideShare a Scribd company logo
1 of 3
Instructions: Compile the C programs in one of the CSE (cse01
– cse06) servers and make sure it’s working. Comment your
code. Create a Makefile to compile the source code and to clean
the binaries. Create a readme file that describes how to compile,
execute, and test the code. Create an assignment folder with
folder name as euid_PA2 (example: xyz0202_PA2) and add all
the source files, Makefile, and the readme file to the folder.
Please create a zip archive of your assignment folder and upload
the zip file to Canvas. Not following the above instructions
could result in not accepting your programming assignment.
Late submissions are not allowed.
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 six 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 cse02.cse.unt.edu machine
and the client should run on cse03.cse.unt.edu machine
5. The proxy server should be able to cache at least six (6)
recent requested webpages, if available
6. When a http request is made to a website that is cached, the
proxy server should return the cached page.
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 cse02.cse.unt.edu and the
format to start the proxy server as follows
./pyserver <port_number>
where pyserver 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 cse03.cse.unt.edu and connects
to the proxy server. The user can request the desired web page
using the below format
./client <port_number>
url: <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 six (6) recent URLs. The cached websites
that are not listed in the list file should be deleted from the list
file and the cache
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. Most
websites are not http websites so only select http websites.
Some http websites are given here (Links to an external site.)
15. A sample list.txt is shown below.
www.google.com 20210210090000
www.example.com 20210210090200
www.weevil.info 20210210090300
Deliverables:
1. Commented server and client C code
2. A Makefile to compile (make) the source code and to clean
(make clean) the binaries
3. A readme file that describes how to compile, execute, and
test the code.
4. Create an assignment folder with folder name as euid_PA2
(example: xyz0202_PA2) and add all the source files, Makefile,
and the readme file to the folder. Please create a zip archive of
your assignment folder and upload the zip file to Canvas.

More Related Content

Similar to Instructions compile the c programs in one of the cse (cse01 – cs

Programming Assignment 3 CSCE 3530 Introduction to Comput.pdf
Programming Assignment 3 CSCE 3530  Introduction to Comput.pdfProgramming Assignment 3 CSCE 3530  Introduction to Comput.pdf
Programming Assignment 3 CSCE 3530 Introduction to Comput.pdf
addtechglobalmarketi
 
MCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen
MCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmenMCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen
MCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen
VannaSchrader3
 
MCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen.docx
MCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen.docxMCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen.docx
MCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen.docx
alfredacavx97
 
Introduction to Dynamic Web Design Technology
Introduction to Dynamic Web Design TechnologyIntroduction to Dynamic Web Design Technology
Introduction to Dynamic Web Design Technology
arulvmax
 
Online Bank Hack
Online Bank HackOnline Bank Hack
Online Bank Hack
Caleb Sima
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
Cathie101
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
Cathie101
 
Project Assignment 2 Building a Multi-Threaded Web ServerThis pro.docx
Project Assignment 2 Building a Multi-Threaded Web ServerThis pro.docxProject Assignment 2 Building a Multi-Threaded Web ServerThis pro.docx
Project Assignment 2 Building a Multi-Threaded Web ServerThis pro.docx
kacie8xcheco
 
Web Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdfWeb Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdf
Raghunathan52
 
Web Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdfWeb Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdf
Raghunathan52
 
Distributed web based systems
Distributed web based systemsDistributed web based systems
Distributed web based systems
Reza Gh
 

Similar to Instructions compile the c programs in one of the cse (cse01 – cs (20)

Programming Assignment 3 CSCE 3530 Introduction to Comput.pdf
Programming Assignment 3 CSCE 3530  Introduction to Comput.pdfProgramming Assignment 3 CSCE 3530  Introduction to Comput.pdf
Programming Assignment 3 CSCE 3530 Introduction to Comput.pdf
 
MCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen
MCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmenMCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen
MCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen
 
MCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen.docx
MCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen.docxMCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen.docx
MCIS 6163 Assignment 1MCIS 6163 Assignment 1.pdfAssignmen.docx
 
some fundamental topics to remember when starting with HTML
some fundamental topics to remember when starting with HTMLsome fundamental topics to remember when starting with HTML
some fundamental topics to remember when starting with HTML
 
Active Server Page - ( ASP )
Active Server Page - ( ASP )Active Server Page - ( ASP )
Active Server Page - ( ASP )
 
Introduction to Dynamic Web Design Technology
Introduction to Dynamic Web Design TechnologyIntroduction to Dynamic Web Design Technology
Introduction to Dynamic Web Design Technology
 
Online Bank Hack
Online Bank HackOnline Bank Hack
Online Bank Hack
 
Unit5 servlets
Unit5 servletsUnit5 servlets
Unit5 servlets
 
Computer networking mcis 6163 project
Computer networking mcis 6163 projectComputer networking mcis 6163 project
Computer networking mcis 6163 project
 
Top 15-asp-dot-net-interview-questions-and-answers
Top 15-asp-dot-net-interview-questions-and-answersTop 15-asp-dot-net-interview-questions-and-answers
Top 15-asp-dot-net-interview-questions-and-answers
 
Top 15 asp dot net interview questions and answers
Top 15 asp dot net interview questions and answersTop 15 asp dot net interview questions and answers
Top 15 asp dot net interview questions and answers
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
 
Web technology
Web technologyWeb technology
Web technology
 
5-WebServers.ppt
5-WebServers.ppt5-WebServers.ppt
5-WebServers.ppt
 
Webbasics
WebbasicsWebbasics
Webbasics
 
Project Assignment 2 Building a Multi-Threaded Web ServerThis pro.docx
Project Assignment 2 Building a Multi-Threaded Web ServerThis pro.docxProject Assignment 2 Building a Multi-Threaded Web ServerThis pro.docx
Project Assignment 2 Building a Multi-Threaded Web ServerThis pro.docx
 
Web Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdfWeb Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdf
 
Web Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdfWeb Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdf
 
Distributed web based systems
Distributed web based systemsDistributed web based systems
Distributed web based systems
 

More from simba35

SYLLABUS ACC423 Intermediate Financial Accounting III Copyrig.docx
SYLLABUS ACC423 Intermediate Financial Accounting III Copyrig.docxSYLLABUS ACC423 Intermediate Financial Accounting III Copyrig.docx
SYLLABUS ACC423 Intermediate Financial Accounting III Copyrig.docx
simba35
 
Synthesis Assignment Instructions and RubricSynthesis Essay..docx
Synthesis Assignment Instructions and RubricSynthesis Essay..docxSynthesis Assignment Instructions and RubricSynthesis Essay..docx
Synthesis Assignment Instructions and RubricSynthesis Essay..docx
simba35
 
Sustainable Development Project OutlineFor the first step in the D.docx
Sustainable Development Project OutlineFor the first step in the D.docxSustainable Development Project OutlineFor the first step in the D.docx
Sustainable Development Project OutlineFor the first step in the D.docx
simba35
 
Sustainable Development Project Rough Draft After the outline, s.docx
Sustainable Development Project Rough Draft After the outline, s.docxSustainable Development Project Rough Draft After the outline, s.docx
Sustainable Development Project Rough Draft After the outline, s.docx
simba35
 
Suppose that you are currently employed as an Information Security M.docx
Suppose that you are currently employed as an Information Security M.docxSuppose that you are currently employed as an Information Security M.docx
Suppose that you are currently employed as an Information Security M.docx
simba35
 
Summer 2014 PHIL 1171 Ethics Final Essay Questions 1 Part One Ess.docx
Summer 2014 PHIL 1171 Ethics Final Essay Questions 1 Part One Ess.docxSummer 2014 PHIL 1171 Ethics Final Essay Questions 1 Part One Ess.docx
Summer 2014 PHIL 1171 Ethics Final Essay Questions 1 Part One Ess.docx
simba35
 

More from simba35 (20)

Symbols of culture are called artifacts. Artifacts are the most visi.docx
Symbols of culture are called artifacts. Artifacts are the most visi.docxSymbols of culture are called artifacts. Artifacts are the most visi.docx
Symbols of culture are called artifacts. Artifacts are the most visi.docx
 
SYLLABUS ACC423 Intermediate Financial Accounting III Copyrig.docx
SYLLABUS ACC423 Intermediate Financial Accounting III Copyrig.docxSYLLABUS ACC423 Intermediate Financial Accounting III Copyrig.docx
SYLLABUS ACC423 Intermediate Financial Accounting III Copyrig.docx
 
Synthesis Assignment Instructions and RubricSynthesis Essay..docx
Synthesis Assignment Instructions and RubricSynthesis Essay..docxSynthesis Assignment Instructions and RubricSynthesis Essay..docx
Synthesis Assignment Instructions and RubricSynthesis Essay..docx
 
Sustainable Development Project OutlineFor the first step in the D.docx
Sustainable Development Project OutlineFor the first step in the D.docxSustainable Development Project OutlineFor the first step in the D.docx
Sustainable Development Project OutlineFor the first step in the D.docx
 
Sustainable Development Project Rough Draft After the outline, s.docx
Sustainable Development Project Rough Draft After the outline, s.docxSustainable Development Project Rough Draft After the outline, s.docx
Sustainable Development Project Rough Draft After the outline, s.docx
 
Suppose you work as a human resource (HR) executive at Total Solutio.docx
Suppose you work as a human resource (HR) executive at Total Solutio.docxSuppose you work as a human resource (HR) executive at Total Solutio.docx
Suppose you work as a human resource (HR) executive at Total Solutio.docx
 
Supreme Court Responsiveness to Public Opinion    Please respond.docx
Supreme Court Responsiveness to Public Opinion    Please respond.docxSupreme Court Responsiveness to Public Opinion    Please respond.docx
Supreme Court Responsiveness to Public Opinion    Please respond.docx
 
Suppose we have an EOQ model as follows[1]  weekly demand = 100.docx
Suppose we have an EOQ model as follows[1]  weekly demand = 100.docxSuppose we have an EOQ model as follows[1]  weekly demand = 100.docx
Suppose we have an EOQ model as follows[1]  weekly demand = 100.docx
 
Suppose that you are currently employed as an Information Security M.docx
Suppose that you are currently employed as an Information Security M.docxSuppose that you are currently employed as an Information Security M.docx
Suppose that you are currently employed as an Information Security M.docx
 
Suppose the Cincinnati Reds increased the price of their tickets and.docx
Suppose the Cincinnati Reds increased the price of their tickets and.docxSuppose the Cincinnati Reds increased the price of their tickets and.docx
Suppose the Cincinnati Reds increased the price of their tickets and.docx
 
Suppose that there are two (2) candidates (i.e., Jones and Johns.docx
Suppose that there are two (2) candidates (i.e., Jones and Johns.docxSuppose that there are two (2) candidates (i.e., Jones and Johns.docx
Suppose that there are two (2) candidates (i.e., Jones and Johns.docx
 
Suppose that the reserve ratio is .25, and that a bank has actual re.docx
Suppose that the reserve ratio is .25, and that a bank has actual re.docxSuppose that the reserve ratio is .25, and that a bank has actual re.docx
Suppose that the reserve ratio is .25, and that a bank has actual re.docx
 
Supply side Options Quiz #4Requirements Arial 11’ 720 word .docx
Supply side Options Quiz #4Requirements Arial 11’ 720 word .docxSupply side Options Quiz #4Requirements Arial 11’ 720 word .docx
Supply side Options Quiz #4Requirements Arial 11’ 720 word .docx
 
Suppose a zoo wants a C++ program to keep track of its animals and t.docx
Suppose a zoo wants a C++ program to keep track of its animals and t.docxSuppose a zoo wants a C++ program to keep track of its animals and t.docx
Suppose a zoo wants a C++ program to keep track of its animals and t.docx
 
Support your statements with examples and scholarly references. Reme.docx
Support your statements with examples and scholarly references. Reme.docxSupport your statements with examples and scholarly references. Reme.docx
Support your statements with examples and scholarly references. Reme.docx
 
Summer 2014 PHIL 1171 Ethics Final Essay Questions 1 Part One Ess.docx
Summer 2014 PHIL 1171 Ethics Final Essay Questions 1 Part One Ess.docxSummer 2014 PHIL 1171 Ethics Final Essay Questions 1 Part One Ess.docx
Summer 2014 PHIL 1171 Ethics Final Essay Questions 1 Part One Ess.docx
 
Supply Chain.   The term  is used rather freely these days, but wh.docx
Supply Chain.   The term  is used rather freely these days, but wh.docxSupply Chain.   The term  is used rather freely these days, but wh.docx
Supply Chain.   The term  is used rather freely these days, but wh.docx
 
SummaryIn your first paper, you will provide the pros and cons of .docx
SummaryIn your first paper, you will provide the pros and cons of .docxSummaryIn your first paper, you will provide the pros and cons of .docx
SummaryIn your first paper, you will provide the pros and cons of .docx
 
Supported by the readings from Modules 10 and 11 (attached), and a.docx
Supported by the readings from Modules 10 and 11 (attached), and a.docxSupported by the readings from Modules 10 and 11 (attached), and a.docx
Supported by the readings from Modules 10 and 11 (attached), and a.docx
 
Summarize your financial situation and plans. Be sure to include pla.docx
Summarize your financial situation and plans. Be sure to include pla.docxSummarize your financial situation and plans. Be sure to include pla.docx
Summarize your financial situation and plans. Be sure to include pla.docx
 

Recently uploaded

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 

Recently uploaded (20)

Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 

Instructions compile the c programs in one of the cse (cse01 – cs

  • 1. Instructions: Compile the C programs in one of the CSE (cse01 – cse06) servers and make sure it’s working. Comment your code. Create a Makefile to compile the source code and to clean the binaries. Create a readme file that describes how to compile, execute, and test the code. Create an assignment folder with folder name as euid_PA2 (example: xyz0202_PA2) and add all the source files, Makefile, and the readme file to the folder. Please create a zip archive of your assignment folder and upload the zip file to Canvas. Not following the above instructions could result in not accepting your programming assignment. Late submissions are not allowed. 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 six 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 cse02.cse.unt.edu machine and the client should run on cse03.cse.unt.edu machine 5. The proxy server should be able to cache at least six (6) recent requested webpages, if available 6. When a http request is made to a website that is cached, the proxy server should return the cached page. 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 cse02.cse.unt.edu and the format to start the proxy server as follows
  • 2. ./pyserver <port_number> where pyserver 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 cse03.cse.unt.edu and connects to the proxy server. The user can request the desired web page using the below format ./client <port_number> url: <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 six (6) recent URLs. The cached websites that are not listed in the list file should be deleted from the list file and the cache 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
  • 3. (cached) the stored page is returned 14. Test web caching by accessing multiple websites. Most websites are not http websites so only select http websites. Some http websites are given here (Links to an external site.) 15. A sample list.txt is shown below. www.google.com 20210210090000 www.example.com 20210210090200 www.weevil.info 20210210090300 Deliverables: 1. Commented server and client C code 2. A Makefile to compile (make) the source code and to clean (make clean) the binaries 3. A readme file that describes how to compile, execute, and test the code. 4. Create an assignment folder with folder name as euid_PA2 (example: xyz0202_PA2) and add all the source files, Makefile, and the readme file to the folder. Please create a zip archive of your assignment folder and upload the zip file to Canvas.