Ask E-Commerce Expert

Data Communications & Computer Networks Lab Assignment

Introduction

In this assignment, you will implement a simple HTTP server application and use it with off-the-shelf HTTP clients (including httpc client, the result of Assignment #1). Precisely, we aim to build a simple remote file manager on top of the HTTP protocol in the server side. Before starting on this Lab, we encourage you to review the programming samples (provided with Assignment # 1) and the associated course materials.

Outline

The following is a summary of the main tasks of the Assignment:

1. Study-Review HTTP network protocol specifications (Server Side).

2. Build your HTTP server library that implements the basic specifications.

3. Develop a minimal file server on top of the HTTP server library.

4. (Optional) Enhance the file server application to support simultaneous multi-requests.

5. (Optional) Implement the support for Content-Type and Content-Disposition headers.

Objective

In the previous assignment, we focused on the client side of the HTTP protocol. We built a simple HTTP client command line and tested it on a real HTTP Servers (Web Servers). In this Lab, we concentrate on the server side of the HTTP protocol. Similarly to Assignment #1, the goal of the Lab is to develop your programming library that implements the basic functionalities of the HTTP server as will be described in the following sections.

The HTTP is a general-purpose protocol. However, it is mostly used in web servers to provide access to the web content. Apache HTTP Server is the most used implementation of HTTP protocol server side.

In our context, we use HTTP protocol to manage a remote file system through HTTP request and responses. Therefore, our goal is to build a file server application on top the developed HTTP server library.

Study and review HTTP Protocol -

In this step, you are asked to review HTTP protocol. In this context, you should focus on the server side features, since you are requested to implement some of them. We urge you to consider HTTP version 1.0 due to its simplicity and easy to implement. You can find the complete specifications of HTTP protocol version 1.0 in this web link HTTP[4]. Furthermore, you can make tests by sending requests and receiving HTTP server responses using the Telnet [3] command line. The pervious tests could show the typical HTTP responses for your testing requests.

Develop HTTP Server Library -

In this part, you are requested to develop your HTTP server library separately from application, to decouple the HTTP protocol specification from the intended end-application. Your HTTP library should be self-contained with a minimum dependency such as Socket library.

You are required to implement only a subset of the HTTP specifications. In essence, the library should include the features that can handle the requests from the httpc app of Assignment #1. To this end, you can test your library by implementing testing examples to check if it is working properly with client applications.

When you finish the testing examples you should check with the Lab Instructor.

Build a File Server Application Using Your HTTP Library -

In this task, you are required to make an end-application to the previous library functionalities. In other words, you should build a remote file server manager on top the library according to the following requirements:

1- GET / returns a list of the current files in the data directory. You can return different type format such as JSON, XML, plain text, HTML according to the Accept key of the header of the request. However, this is not mandatory; you can simply ignore the header value and make your server always returns the same output.

2- GET /foo returns the content of the file named foo in the data directory. If the content does not exist, you should return an appropriate status code (e.g. HTTP ERROR 404).

3- POST /bar should create or overwrite the file named bar in the data directory with the content of the body of the request. You can implement more options for the POST such as overwrite=true|false, but again this is optional.

Attachment:- Assignment File.rar

E-Commerce, Computer Science

  • Category:- E-Commerce
  • Reference No.:- M92511672

Have any Question?


Related Questions in E-Commerce

Purpose of the assessment with ulo mapping students are

Purpose of the assessment (with ULO Mapping) Students are required to design and develop four different Apps. Students will be able to: b. Apply Java programming concepts, models/architectures and patterns to Android app ...

Research and discuss html 5what are its main featureswhat

Research and discuss HTML 5. What are its main features? What resources are available to support it? Put it in your own words please.

Html - css assignments assignment 1 - internet programming

HTML - CSS Assignments Assignment 1 - Internet Programming   My grandfather, like many men who lived in rural America, owned a large machine shed where he stored tools, farm equipment, vehicles, lumber, and wonderful gad ...

Mobile applications assignment - an ios recipe application

Mobile Applications Assignment - An iOS Recipe Application - Introduction - In this assignment, you will create a simple Recipe application for iOS using Xcode (Swift). This application allows users to view food recipes. ...

Secure electronic commerce assignment -part a -based on

Secure Electronic Commerce Assignment - Part A - Based on your practices in labs, develop an online e-commerce (shopping) system using html, javascript and php. You can assume any products for sales. Please create a fold ...

Overviewassignment 2 asked you to build the front end of

Overview Assignment 2 asked you to build the front end of the assignment, now the client wants you to build the full eCommerce website to the point that orders can be made and stored in a spreadsheet. Requirements 1. Web ...

Create testcase for given project first use piki design to

Create testcase for given project, first use piki design to do test case Want to do it like testcase one file and you can also get right information from saeed testcases Want to piki design all of it and informat like te ...

Assignment requirementsyour web site proposal and

Assignment Requirements Your web site proposal and presentation (Assignment 1) was accepted, subject to any feedback you may have received. You company has been asked to develop website you suggested and build the featur ...

Mobile web application development assignment - android

Mobile Web Application Development Assignment - Android Apps Development Purpose of the assessment - Students are required to design and develop four different Apps. Apply Java programming concepts, models/architectures ...

Assignment - creating dynamic websites and web-based

Assignment - CREATING DYNAMIC WEBSITES AND WEB-BASED APPLICATIONS - AN OVERVIEW This assignment is an overview of the concepts, technologies and design techniques required to build dynamic websites and web-based applicat ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As