Murdoch University Logo B336 Advanced Internet Computing

Assignment 1


Part I (Web server configuration and administration) 40%

Your task is to set-up an Apache web server for one of the following two organizations. In addition you should also recommend any server administrative matters which will help the organization's activities. You may choose any one.

You should consider at least the following issues:

You may include other features Apache can support, which do not fall into the above categories.

Your set of recommendations should include what the organization needs to do and how they should approach the administration of the web server (eg. the best way to use the log files). You can assume that they have, or will have, someone with good enough experience with Apache doing the administration. You only need to describe matters relevant to your specific set-up.

Submission requirements:

  1. An installed copy of an Apache web server, residing in your home area on red.murdoch.edu.au, configured to do the above. You do not need to have a server daemon running at all times. Internal students will be asked to demonstrate the running server during a lab session after the submission date.
  2. A print-out of the relevant sections from the server configuration files, with the appropriate parts high-lighted and commented on. If you need to have different configurations for the different scenarios, then name the different files appropriately for easy access during your demonstration.
  3. A printed short report justifying all the decision made in regard to the configurations chosen.
  4. A printed set of recommendations to the organization.
  5. Cover sheet (you only need one for this whole assignment if you are submitting everything as a single document).

Part II (Implement a Web Server) 30%

Implement a web server which is able to handle HTTP requests from any standard web browser, and return the requested resource (your server will be tested on serving plain text, HTML, and GIF images).

As defined by HTTP, your server must respond to the request by sending the contents of the file indicated by the URL. Your server must also respond with the error messages if it encounters the following situations:

  1. Request is not a valid HTTP request.
  2. The URL is not found.
  3. The URL has moved to a new location.

In addition, when your server receives a request for a file with extension .336, it should respond with the URL for this unit as part of its data to the user at the requesting client.

Unlike most real servers, you server only needs to handle one connection at a time.

Your server should be executable on red.murdoch.edu.au, and should serve from a specific directory in your home area on the machine. You may follow and modify the example Perl code given in lectures and the unit reader, or you may use other languages such as Java and C/C++.

Submission requirements:

  1. Complete print-out of all source code used to implement your server, including comments to help the assessor understand your code.
  2. Source code and any executable versions of your scripts/programs submitted on floppy disk, AND residing in your home area on red.murdoch.edu.au. Internal students will be asked to demonstrate them during a lab session after the submission date.
  3. Cover sheet (you only need one for this whole assignment if you are submitting everything as a single document).

Part III (Implement a Web Client) 30%

Implement a web client which is able to retrieve standard static resources from any web server (your client will be tested on retrieving plain text files, HTML files, and GIF images). The web client only needs to print out the headers and contents of the response it receives on the command line.

You are expected to implement your solution in Perl, as guided by the lectures, and produce script(s) interpretable using ActivePerl for Win32 or using Perl in linux. You may also choose to implement the solution in other languages such as Java and C/C++, but must arrange with the unit coordinator for methods of executing the code for assessment.

Submission requirements:

  1. Complete print-out of all source code used to implement your client, including comments to help the assessor understand your code.
  2. Source code and any executable versions of your scripts/programs submitted on floppy disk, AND residing in your home area on red.murdoch.edu.au. Internal students will be asked to demonstrate them during a lab session after the submission date.
  3. A list of 5 different URLs from 5 different web sites (1 each from 5 sites) retrieved using your web client. You may choose web sites from within the murdoch.edu.au domain alone, or you may choose web sites from outside Murdoch University. For each URL, state the values of EVERY header in the response to your web client.
  4. Cover sheet (you only need one for this whole assignment if you are submitting everything as a single document).

Demonstrations

Internal students must demonstrate your submission during your allocated lab session in week 6 and 7. The purpose of the demonstration is only to help the assessor understand what you have submitted. You do not need to work out a fancy demonstration plan. You only need to answer questions about what you submitted.

You may, however, receive deductions for one of the following:

  1. If you submit code from the unit lectures, which you are allowed to do, but you show no understand of the code you submitted. The severity of the deduction will be based on the level of ignorance you show.
  2. If you submit something you claim to be your own which is totally different from the lectures, and you show no understanding of it. Then your submission will not be assessed and it will be sent to the Dean to deal with.

Learning Objectives:

As with all assignments, this assignment is to assess how well you have achieved the unit's learning objectives. This assignment is principally focused Learning Objectives 1 (understanding technologies) and 2 (writing software). Part I also assesses your achievements in Learning Objective 3 (construct solutions). You will need to progress in Learning Objective 4 (self-learning) to find the relevant information, but it is not the focus of this assignment.


Document author: H.L. Hiew, Unit Coordinator
Last Modified: Sunday, 22-Apr-2001 21:22:54 MST
Disclaimer & Copyright Notice © 2001 Murdoch University