Comp 2322代写、Python/Java程序代做
Comp 2322 Computer Networking
Project: Multi-thread Web Server
Due time: 11:59pm, April 21, 2024, Sunday
Total marks: 100 marks
Project objectives
This project aims to develop a socket program to implement a Web service using the
HTTP protocol.
Design requirements
In this project, you are required to develop a multi-threaded Web server in Python that is
capable of processing HTTP requests sent from browsers or some other client programs.
This multi-threaded program will be able to handle multiple requests at the same time.
Specifically, your Web server will
(i) create a connection socket when contacted by a client (browser);
(ii) receive the HTTP request from this connection;
(iii) parse the request to determine the specific file being requested;
(iv) get the requested file from the server’s file system;
(v) create an HTTP response message consisting of the requested file preceded by
header lines;
(vi) send the response over the TCP connection to the requesting client. If the client
requests a file that is not present in your server, your server should return a “404
Not Found” error message.
Your task is to implement the server program, run your server program, and then test
your server program by sending requests from the client programs running on different
hosts. You may run the server on your own computer, using the IP address of 127.0.0.1. If
you run your server on a host that already has a Web server running on it, then you should
use a different port than port 80 for your Web server.
You can develop your code in two stages. In the first stage, you can simply implement the
server program to receive the HTTP request messages and display the contents. After this
is running properly, you can add the code to generate appropriate responses in the second
stage. The Web server needs a log file to record statistics of the client requests. Each
request corresponds to one line of record in the log. Write down client hostname/IP
address, access time, requested file name and response type for each record. Your Web
server also needs to handle some simple errors, such as web-page not found.
You can use either Python, Java or C/C++ languages for the project. When implementing
the Web server, you are required to use basic socket programming classes to build the
Web server from scratch instead of using the HTTPServer class directly.
Submission requirements
Each student needs to submit a project package to Learn@PolyU, containing the
following documents:
x A project report that contains
o A cover page includes your name and student number;
o A summary of your design and implementation of the server program;
o A demonstration of executing your program and screen capturing of results of
all functions;
o A log file that records the historical information about the client requests and
server responses.
x Complete source code
o Your code should be commented appropriately.
x A README text file of how to compile and run your program.
The due time of the project is 11:59pm, April 21, 2024, Sunday, determined by
Learn@PolyU. Do not challenge this time and submit your project package a little
earlier. Late submission will cause the marks deducted 25% per day.
Assessment rubrics
The following rubrics will be used to evaluate your project quality and to determine
your grade (100 marks):
ms
YNNNMM一 一一一一 一一一一 一一
x Design and implement the Web server program to support the following functions
(70 marks)
o Multi-threaded Web server (5 marks)
o Proper request and response message exchanges (5 marks)
o GET command for both text files and image files (10 marks, 5 marks each)
o HEAD command (10 marks)
o Four types of response statuses ONLY, including 200 OK, 400 Bad Request,
404 File Not Found, 304 Not Modified (20 marks, 5 marks each)
o Handle Last-Modified and If-Modified-Since header fields (10 marks)
o Handle Connection header field for both HTTP persistent connection
(keep-alive) and non-persistent connection (close) (10 marks, 5 marks each)
x Quality of your project’s report (25 marks)
o A good summary of your design and implementation of the server program
(10 marks)
o A full demonstration of executing your program and screen capturing of
results of all functions (5 marks)
o A complete log file (5 marks)
o A clear README text file (5 marks)
x Quality of your project’s source code (5 marks)
o Complete source code for the project
o Good naming and coding conventions used in your source code
o Compile the source code successfully
o Execute the program without runtime errors
Comp 2322 Computer Networking
Project Marking Sheet
Student Information Name Student ID
TA Information
Check List Marks
Design and implement the Web server program (70 marks)
o Multi-threaded Web server (5 marks)
o Proper request and response message exchanges (5 marks)
o GET command for both text files and image files (10 marks)
o HEAD command (10 marks)
o Four types of response statuses ONLY (20 marks)
o Handle Last-Modified and If-Modified-Since header fields (10 marks)
o Handle Connection header field (10 marks)
Quality of your project’s report (25 marks)
o A good summary of your design and implementation (10 marks)
o A full demonstration of executing your program and screen capturing of
results of all functions (5 marks)
o A complete log file (5 marks)
o A clear README text file (5 marks)
Quality of your project’s source code (5 marks)
o Complete source code for the project
o Good naming and coding conventions used in your source code
o Compile the source code successfully
o Execute the program without runtime errors
Total
请加QQ:99515681 邮箱:99515681@qq.com WX:codinghelp
- 担心推广效果不显著 WhatsApp这个工具一键解决你的烦恼 让你的推广事半功倍
- 全球营销的风向标 海外营销高手都在用的秘密兵器 就是WhatsApp拉群工具
- Ins一键拉群软件,Instagram引流营销软件,助你快速扩展粉丝!
- 与客户通过WhatsApp拉群工具的亲切对话 是我最爱的生意喜悦时光
- 踏上新征程 WhatsApp拉群营销工具为我提供超越期望的业务体验
- CHC5223代做、java语言编程代写
- 南京威雅学校:我校学子在英国物理测评等国际竞赛中喜获佳绩
- Instagram营销软件 - ins采集软件/ig采集助手/ins群发助手
- 进化、蜕变!看清这家企业CGM迭代战略背后的深意
- 魔法商业的新纪元 科技魔法师心仪的WhatsApp工具是揭示市场趋势的时空传送门
- 竹间智能创始人简仁贤,详谈认知智能技术的智能化应用
- 美国移民EB-5新闻:益博区域中心被起诉
- 悬崖边的高合汽车:订单低迷,工厂减产只发底薪
- 每一个订单都是一次成功的故事,是我通过Telegram协议号注册器工具创造的生意喜悦
- Instagram引流推广营销助手,Ins超好用爆粉打粉软件震撼登场!
- Stevie® 奖公布第 18 届年度销售与客户服务 Stevie® 奖入围名单
- Telegram群发云控征途的科技明星:全球app云筛帮你精确锁定海外市场的核心受众
- 小土豆们一起穿越南北,品尔滨们YonSuite的魅力烟火
- 代写Clue-Less程序设计
- 科技大神揭秘:Telegram代拉群营销工具的超能力真实可信,绝对值得一试
推荐
- 老杨第一次再度抓握住一瓶水,他由此产生了新的憧憬 瘫痪十四年后,老杨第一次再度抓握住一瓶水,他 科技
- B站更新决策机构名单:共有 29 名掌权管理者,包括陈睿、徐逸、李旎、樊欣等人 1 月 15 日消息,据界面新闻,B站上周发布内部 科技
- 创意驱动增长,Adobe护城河够深吗? Adobe通过其Creative Cloud订阅捆绑包具有 科技
- 如何经营一家好企业,需要具备什么要素特点 我们大多数人刚开始创办一家企业都遇到经营 科技
- 疫情期间 这个品牌实现了疯狂扩张 记得第一次喝瑞幸,还是2017年底去北京出差的 科技
- 智慧驱动 共创未来| 东芝硬盘创新数据存储技术 为期三天的第五届中国(昆明)南亚社会公共安 科技
- 丰田章男称未来依然需要内燃机 已经启动电动机新项目 尽管电动车在全球范围内持续崛起,但丰田章男 科技
- 升级的脉脉,正在以招聘业务铺开商业化版图 长久以来,求职信息流不对称、单向的信息传递 科技
- 全力打造中国“创业之都”名片,第十届中国创业者大会将在郑州召开 北京创业科创科技中心主办的第十届中国创业 科技
- 苹果罕见大降价,华为的压力给到了? 1、苹果官网罕见大降价冲上热搜。原因是苹 科技