Web Server Technology

Home Admissions Course Guide Web Server Technology
Web Server Technology
This Course Guide has been taken from the most recent presentation of the course. It would be useful for reference purposes but please note that there may be updates for the following presentation.

COMP S834
Web Server Technology



Introduction

Welcome to COMP S834 Web Server Technology.

This courseis a two-semester, ten-credit post graduate-level course for Master of Science in Information Technology with Internet Applications (MScITIA). The course is designed to provide students, who have obtained an Honours degree in computing or its equivalent, with the underlying principles and technologies of the Web and its future direction.

Since the course is based on various Web technologies, interactive Internet-based examples will be used wherever appropriate.

The study units, textbooks, assignments and self-tests in this course will help students master the topics over a period of 40 weeks.

Purpose of this Course Guide

As this course might be the first course that you have taken through The Open University of Hong Kong (OUHK), you might not be aware of both the study skills required for distance learning and how OUHK courses are organized. It is recommended, therefore, that you read this Course Guide thoroughly before looking at the study units. If you have taken OUHK courses before, you should be well aware of both the study skills required for distance learning and how OUHK courses are organized. Whichever group you belong to, though, it is recommended that you read this Course Guide thoroughly before looking at the study units.

This Course Guide tells you briefly what the course is about and how you can work your way through the material. It suggests the amount of time you will need to spend to complete the course and the units, and it gives you a general idea of when your assignments are due.

In distance learning, as practised by the OUHK, the study units are prepared and coordinated in the distance mode of education by your university professor. You do not need to attend lectures face-to-face with the lecturer or professor. This is one of the great advantages of distance learning: you can read and work through specially designed study material at your own pace at times and places that suit you best.

Think of your study units as reading the lecture instead of hearing it from a lecturer. In the same way that a lecturer might set you some reading to do, the study unit will tell you when to read relevant material. Basically, in the distance mode of education, the course materials replace your live lecture notes. However, study units still require you to think for yourself and to practise key skills. In the same way that a lecturer might give you an in-class exercise, your study units will have activities for you to do at appropriate points. You will also find self-test questions in each unit. These activities and self-tests give you practice in the skills that you need to achieve the objectives of the course and to complete assignments and pass the final examination.

Course aims

COMP S834 Web Server Technology is geared towards information providers and Web developers who wish to acquire a solid background in the standards, protocols and technologies needed to operate professional and commercial websites.

This course aims to:

Course learning outcomes

Upon completion of this course, you should be able to attain the following learning outcomes:

Course organization

The following chart gives a general overview of the course structure.

Unit Title Studyweeks Assessment activity
(end of unit)
1 Components of the Internet 3  
2 Internal structure of a Web server 3  
3 Server-side and client-side programming 5 Assignment 1
4 Web indexing and search engines 3  
5 Databases and state management 4 Assignment 2
6 Web server performance, tuning and caching 4  
7 Evolution of HTML and Web interactivity 3 Assignment 3
8 XML and Web services 4  
9 Web security 4  
10 E-commerce and cryptography 5 Assignment 4
  Revision 2  
  TOTAL 40  
Course materials

In addition to this Course Guide, please ensure that you have the following important course components from the OUHK:

Study units

There are ten study units, but don't panic if you don't receive all ten at the same time. It is usual to receive study units in three, or even four, separate mailings.

Eachunit in COMP S834consists of three to four weeks' work. Please remember that you have to plan your own study schedule. It is essential that you complete your assignments on time, as they will prepare you for the examination.

The study units:

The course is structured so that each unit builds upon previous knowledge. Each unit contains various ways to help you study. To get the most out of the course, you should:

  1. read each study unit;

  2. browse the recommended websites to read some additional readings and to complete interactive activities;

  3. test your comprehension and analytical skills by working through the activities and self-tests that appear throughout the units; and

  4. complete the assignments.

If you encounter any problems, please make notes and raise these problems with your tutor as soon as possible.

A brief summary of the ten study units in COMP S834 follows.

Unit 1 Components of the Internet

Unit 1 describes the principles, technologies and protocols behind the Web and the Internet. These fundamental concepts underlie the Web server technologies that will be discussed throughout the rest of the course.

Unit 2 Internal structure of a Web server

This unit examines how documents are stored and structured on a Web server, and the process by which these documents are pushed out over the Internet in response to incoming requests. The other major topic in this unit is HTTP, the language used by Web browsers and servers to communicate with each other. We will examine the HTTP messages that are transmitted between the Web browser and server, and study the structure and meaning of these messages.

Unit 3 Server-side and client-side programming

Unless a website is entirely made up of static HTML pages, server-side programs are needed to generate Web pages that satisfy specific user requests in real-time. Server-side programs are also required in order to serve online transactions such as bill payment and shopping. Without the capability to execute programs on a Web server, the Web would be a much less useful and interesting place than it is now. This unit provides an overview of how server-side programs are executed by a Web server, and brings you on a tour of the languages commonly used to write these programs. In addition, an overview of client-side programming as well as some popular programming techniques will be discussed.

Unit 4 Web indexing and search engines

Search engines allow users to locate and retrieve relevant documents via a user-friendly, point-and-click interface. They are frequently used as the starting point of any Web surfing session. Therefore, it is important for Web information providers to understand how search engines work: how they gather documents, determine keywords and build search indexes. This knowledge can also be valuable in optimizing search engine rankings.

Unit 5 Databases and state management

Dynamic Web pages that are created in real-time are common nowadays, especially for e-commerce sites that offer online shopping and browsing of their product catalogues. The content is usually stored in back-end databases, and various pieces of data are retrieved and combined in many different ways in response to specific user requests. In this unit, we will explore database management systems as well as well-known SQL language. The other major topic for this unit is state or session management. In general, the lifetime of a session starts when a user visits the first page on the site, and ends when he or she leaves the site. To implement shopping carts, user preferences, or detailed visitor tracking, a server must be able to recognize a user all throughout a session, from one page to the next. We will discuss the techniques for implementing session management to help you deliver a richer, more interactive Web environment to your users.

Unit 6 Web server performance, tuning and caching

Web developers often pay close attention to website functionality and user interface design, at the expense of website performance. And yet surveys indicate that slow-loading Web pages are a major turn-off for website visitors. This unit stresses the importance of monitoring and improving website performance in order to keep those visitors longer and to encourage them to return in the future. We'll look at the processes, benchmarks and tools that can be used to measure Web server performance. Caching proxy servers are frequently used to speed up performance by intercepting requests from clients and serving whatever requests the server can from its own cache of previously requested Web pages. We will also discuss how caching works and whether it is really beneficial to Web performance.

Unit 7 Evolution of HTML and Web interactivity

Regardless of the operating system or hardware platform, any browser can render the document downloaded from any server as long as that document is written in HTML. The universality and interoperability that HTML offers is one of the main reasons behind the explosive growth of the Web. However, the Web is also a platform not just for exchanging static documents, but for other media types as well, including sound, video, animation, and even executable programs. The interactive and dynamic nature of Web content is what truly sets it apart from other mass media such as television, movies, and radio. In this unit, we will explore the different versions of HTML and look at where HTML is headed. We will also discuss different interactive technologies that have emerged on the client-side.

Unit 8 XML and Web services

Besides the need for server-side Web applications that can handle user requests sent from Web clients (i.e. Web browsers), there is also a need for computer programs to interact with other programs over the Web, without any human intervention. For example, a website may want to download the latest stock quotes, auction prices or weather information from other Web applications, and display the data within its own pages. In this unit, we'll explore the protocols and technologies that allow programs to invoke other programs over the Web and HTTP. We'll also analyse the growing trend towards Web applications that are composed of pieces of programs, known as Web services, spread across many different machines. A major portion of the unit will therefore concentrate on XML, the base technology behind Web services. In addition, the tools commonly used for the measurement of Web service performance will be discussed

Unit 9 Web security

When you set up a Web server on the Internet, you are opening up this machine and its contents not only to legitimate users, but to potential attackers as well. Information providers must be aware of the very real threats and dangers that exist on the Internet and how to take preventive action against them. Constant monitoring for any suspicious activity must be performed on a Web server and the network where it is located. The first line of defence is most often a firewall, which sits between your internal network and the public Internet, regulating the traffic that passes through it. Securing your Web server should be done not through an ad-hoc process but using a framework that will be discussed in this unit. Practical tips and advice for executing the steps in this framework will also be covered.

Unit 10 E-commerce and cryptography

Negative perceptions of the safety and reliability of e-commerce continue to dominate among the general public, and such perceptions form one of the biggest obstacles to the widespread adoption of e-commerce. Cryptography is one of the major weapons that can be used to ensure potential customers that e-commerce sites are doing all they can to keep their data secure and private. This unit specifically looks at the encryption technologies that are used on the Web today. These technologies are all brought together in the discussion of Secure Sockets Layer (SSL) for enabling 'secure' data transmission between Web servers and browsers.

Non-print media

COMP S834 course website

This course provides a course website through the Online Learning Environment (OLE). The activities, readings and demonstrations on the course website are a mandatory component of the course. Through the course website, you will also explore links to a number of other sites which contain information on and demonstrations of important technical concepts. This means that some of your course is taught through the printed materials that you receive, and other parts are taught through the information and activities on the course website. Please make sure that you work through the online materials.

Equipment requirements

The following table summarizes your equipment requirements for this course.

Software requirements Hardware requirements

Operating system: Windows XP or above, OS X or Linux (Windows is recommended as it will be used for course activities)

Web browser: Chrome, Firefox or IE (Chrome is recommended as it will be used for course activities) (Instructions for downloading and installation will be provided in the course material.)

Apache Web server (Instructions for downloading and installation will be provided in the course material.)

MySQL database server (Instructions for downloading and installation will be provided in the course material.)

PHP (Instructions for downloading and installation will be provided in the course material.)

Other software used for specific course units (Instructions for downloading and installation will be provided in the course material.)

PC with dual-core 2GHz processor

2GB RAM

3GB of free disk space

Broadband Internet access

Video display resolution at 1024 × 768 or higher

Sound card

Assignments

Assignments for this course can be found in the OLE. The nature of these assignments is described in the 'Assignments' section below. You are required to complete your assignments in accordance with the timetable provided in the Presentation Schedule.

Presentation Schedule

The Presentation Schedule for this course is contained in your course package. In this schedule, you will see the approximate time for your tutor's receipt of your assignments. Please note that your must submit all your assignments in time to reach your tutor by the dates shown in the Presentation Schedule.

Course assessment

Formal assessment for COMP S834 consists of two components:

Assignments

Assignments serve three purposes:

  1. To provide a mechanism for you to check your progress and make sure that you can meet the objectives of each unit.

  2. To provide you with the chance to demonstrate your understanding of the course materials.

  3. To provide an opportunity for you to apply what you have learned by completing some programming work and case studies.

The assignments will be designed to let you demonstrate your proficiency in the Web server technologies covered throughout the course. Assignments will ask you to evaluate case studies, solve problems, write essays and practically implement various technologies.

There are four assignments in COMP S834. The marks of the best three assignments will count toward your overall assessment score. The combined score of your three assignments marks contributes 50% to the total course mark.

After your tutor marks your assignments, they are returned to you so that you can check your learning and clarify any misunderstandings. You should carefully read through feedback that your tutor has given on your assignments.

How to do your assignments

For each assignment, please carefully read through the question and the instructions. Please make sure you understand what is required before attempting an assignment. If you do not understand an assignment or the instructions, please contact your tutor.

Once you have completed each assignment, you must submit it through the OLE. Please make sure that each assignment reaches your tutor on or before the deadline. However, if you cannot finish your assignment on time, you must contact your tutor before the deadline to discuss the possibility of an extension. Your tutor may grant you an extension of up to seven days. If more time is needed, you must obtain approval from the Course Coordinator through the course webpage or the Dean of the School of Science and Technology. Please use the online (Web) assignment extension application. No marks will be awarded for any late assignments without prior approval obtained from the Course Coordinator or the Dean.

If your assignments call on you to write a research-type paper, you must be careful when you are using other references in the research for your assignments. If you commit plagiarism, you will be penalized severely. Plagiarism is theft of somebody else's work or ideas. This applies just as much to using the work of other students as it does to authors of books. However, you may include parenthetical references to the works you cite, e.g. (Stott 2002, 38). You should include a section at the end of your assignment called 'References' where the full name, title, date and place of the publication of any references that you have used appear. The way to cite a reference is:

Stott, V (2002) Web server technology, 2nd edn, London: ABC Publishing.

Assignment schedule

Assignment Covers work from To be submitted at the end of
Assignment 01 Units 13 Unit 3
Assignment 02 Units 4 & 5 Unit 5
Assignment 03 Units 6 & 7 Unit 7
Assignment 04 Units 810 Unit 10

Final examination and grading

The final (closed book) examination for this course will be of three hours' duration and will count for 50% of the total course grade. You should use the time between finishing the last unit and the examination to review the entire course. You might find it useful to review your self-tests, assignments and your tutor's comments on them before sitting for the examination. You will be advised of examination arrangements after you send in your examination registration card.

The final examination covers information from all parts of the course and will be in a form you have already experienced in self-tests and assignments. Do not worry that the examination will contain tricky questions. That would not be consistent with the clear, open approach the OUHK takes to helping its learners succeed in their studies.

To earn a pass grade for the course, an overall mark of 40% or better is required, but you must attain an average mark of 40% or better on the assignments and a mark of 40% or better on the final examination. You are therefore required to submit all assignments and to sit for the examination. If, for some good reason, you are not able to complete all assignments or sit for the examination, contact your Course Coordinator to see if alternative arrangements can be made.

The table below summarizes the assessment requirements for COMP S834.

Assessment type Marks
Four assignments
The scores for the best three assignments will count toward the final assessment.
16.67% each × 3
50%
Examination
The three-hour examination will comprise five long questions (each carries 25 marks), and you need to answer any four of them.
50%
Total 100%
Student support

Many kinds of support are available to you during the course. They include:

Direct personal support

The course supports you through telephone tutoring, tutorials and surgeries.

Tutors

Each student is assigned a personal tutor. Your assignments will be marked and commented on by your tutor, who will keep an eye on your progress and assist you if you encounter problems during the course. Marked assignments will be returned to you as soon as possible.

It is a good practice to keep a copy of each assignment submitted for marking, so that you can always refer any queries to the tutor during telephone conversation. Hence, please contact your tutor should the following arise:

  1. You do not understand any part of the study units or the assigned readings.

  2. You have any difficulty with self-tests.

  3. You have a question or problem with the assignments, or with your tutor's comments or grading on an assignment.

Telephone tutoring

When you have any difficulties in your studies, you may consult your tutor by telephone in the assigned time slots. The total number of hours that you can receive telephone-tutoring services is up to four hours per week. During the telephone tutoring, you can seek advice on the study topics, guidance in assignments, and help in preparing for the examination.

Tutorials

The course includes ten tutorial meetings of two hours each — 20 contact hours in total. The tutorials are conducted to provide an opportunity for you to receive some course progress guidance from the tutors. In addition, you have an opportunity to share your study experiences and difficulties in your peer-to-peer group discussions. Although the tutorials are not compulsory, you are encouraged to attend the tutorial meetings as far as possible.

Details of the dates, time and location of the tutorials as well as the name and phone number of your tutor will be sent to you in due course.

Surgeries

As a supplement to the telephone tutoring, the course also supplies 16 surgery sessions.

An on-duty tutor chairs each surgery. Each surgery aims to provide face-to-face consultation on individual student's study problem areas. However, several surgeries in the middle of this course will be conducted through the Internet. The main purpose for online surgeries is to reach out to as many students as possible.

You may bring along to the surgeries any queries on the study guide, assignments and specimen examination paper.

Electronic support

Electronic mail

You may also submit your study problems to your assigned tutor through email.

Email provides flexibility to both tutors and students in overcoming the limitations of telephone tutoring for solving more technical issues.

Web presentation

As mentioned earlier, a course webpage will be established through OLE for disseminating the latest information of the course, course announcements, course scheduling, and assignment distribution.

In addition, an explanation of course materials and frequently asked questions are also provided on the Web.

Summary

COMP S834 Web Server Technology is intended to provide you with a sound foundation in World Wide Web technologies. In order to understand the content of this course, you must analyse the course materials and apply the concepts learned. We hope that you are able to apply the knowledge and skills from this course throughout your career.

Good luck and we hope that you achieve great success and satisfaction from this course.

A note about the developer of this course

Dr Patrick Ma received his Bachelor of Arts (Hons) in Computing and Doctor of Philosophy from the Hong Kong Polytechnic University. He has many years of experience in teaching, and has taught various undergraduate and postgraduate IT subjects in Hong Kong. He also served as the IT manager in a Hong Kong listed company, and was responsible for planning and managing all IT systems and networks for the group. His current research interests are in intelligent Web systems and cloud computing.