Download Ismail Shaik

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Team Foundation Server wikipedia , lookup

Transcript
Design and Implementation of HTTP/1.1 WebServer
SUPERVISOR: Kåre Jelling Kristoffersen
PARTICIPANTS:
1. Ashok Kumar Jayaraman
2. Ismail Shaik
3. Rakesh Moturi
4. Vijay Kumar Kotagiri
Preface
This Project, done in Dec’ 2003, is of four-week duration and is intended to supplement the course
work in ‘Networks and Protocols’ and ‘Introduction to Programming’ at The IT University of
Copenhagen, Denmark.
The project is supervised by Kåre Jelling Kristoffersen, Assistant Professor at The IT University
of Copenhagen, Denmark. He had been a key contributor for the success of this project by
providing timely inputs and valuable suggestions.
The project participants are the following:
Ashok Kumar Jayaraman
[email protected]
Bachelor of Engineering (Computer Science and Engineering) and is currently pursuing 1st
Semester in MSc (Internet Technology) at IT University of Copenhagen, Denmark.
Ismail Shaik
[email protected]
Bachelors of Technology in Computer Science and Engineering and is currently pursuing 1 st
Semester in MSc (Internet Technology) at IT University of Copenhagen, Denmark.
Rakesh Moturi
[email protected]
Bachelors of Computer Application and is currently pursuing 1st semester in MSc (Internet
Technology) at IT University of Copenhagen, Denmark.
Vijay Kumar Kotagiri
[email protected]
Bachelors of Technology in Electronics and Communication and is currently pursuing 1st Semester
in MSc (Internet Technology) at IT University of Copenhagen, Denmark.
Abstract
This project is aimed at designing a web server, which implements some of the server side concepts
of the HTTP/1.1 protocol. It partly adheres to the HTTP/1.1 standards defined by RFC 2616 for
communication between client and server on the WWW domain. It also avails the Session
Management features (Cookies) defined by RFC 2109. The server is implemented using Java
programming language.
The server handles GET and HEAD requests from clients. It uses persistent connection, i.e. a new
connection need not be setup for each requested web object. There is no pipelining facility and the
client issues a new request only when the response for its previous request has been received. It uses
authenticated access to a database, specially built for this web server and cookies for Session
Management. The role of the cookies is to identify a client if it had earlier contacted the server.
Table of Contents
Page
1. Introduction
1
2. Problem Definition
4
3. Report Structure
4
4. HTTP

Over view
5

Message Format
5

Request Message
6

Response Message
7

Message Headers
8
5. HTML
9
6. Networking Concepts in JAVA

Java.net Package
11

Implementing Sockets
11

Streams
11

Threading Concepts
12

JDBC
13
7. Design
14
8. Class Definitions

RequestHandler Class
17

ResponseHandler Class
21

FileHandler Class
24

ThreadHandler Class
26

GETMethod Class
27

Database Class
29

Server Class
31
9. Testing
32
10. Conclusion
36
References
Appendix