Web Server Design Assignment #3: Transfer Encoding & Content Negotiation Due: 03/24/2010 Old Dominion University Department of Computer Science CS 495/595.

Slides:



Advertisements
Similar presentations
CS320 Web and Internet Programming Generating HTTP Responses
Advertisements

HTTP Headers. Read these slides yourselves This set of slides explains the header fields which are pre-defined in HTTP/1.1 Read these slides yourselves.
How the web works: HTTP and CGI explained
Hypertext Transfer Protocol Information Systems 337 Prof. Harry Plantinga.
HTTP HyperText Transfer Protocol Part 3.
Hypertext Transport Protocol CS Dick Steflik.
CSC 2720 Building Web Applications Servlet – Getting and Setting HTTP Headers.
 What is it ? What is it ?  URI,URN,URL URI,URN,URL  HTTP – methods HTTP – methods  HTTP Request Packets HTTP Request Packets  HTTP Request Headers.
Rensselaer Polytechnic Institute CSC-432 – Operating Systems David Goldschmidt, Ph.D.
Web Server Design Week 5 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 2/10/10.
HyperText Transfer Protocol (HTTP).  HTTP is the protocol that supports communication between web browsers and web servers.  A “Web Server” is a HTTP.
CSC 2720 Building Web Applications Getting and Setting HTTP Headers (With PHP Examples)
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
The HyperText Transfer Protocol. History HTTP has been in use since 1990 (HTTP/0.9) HTTP/1.0 was defined in RFC 1945 (May 1996) and included metainformation.
Copyright 2012 & 2015 – Noah Mendelsohn Introduction to: The Architecture of the World Wide Web Noah Mendelsohn Tufts University
Web Programming Week 1 Old Dominion University Department of Computer Science CS 418/518 Fall 2010 Martin Klein 8/31/10.
Web Server Design Week 8 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 3/3/10.
HTTP1 Hypertext Transfer Protocol (HTTP) After this lecture, you should be able to:  Know how Web Browsers and Web Servers communicate via HTTP Protocol.
Web Server Design Week 4 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 2/03/10.
Web Server Design Assignment #1: Basic Operations Due: 02/03/2010 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin.
Web Server Design Week 11 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 3/24/10.
Web Server Design Assignment #2: Conditionals & Persistence Due: 02/24/2010 Old Dominion University Department of Computer Science CS 495/595 Spring 2010.
HTTP Protocol Design1 HTTP - timeline r Mar 1990 CERN labs document proposing Web r Jan 1992 HTTP/0.9 specification r Dec 1992 Proposal to add MIME to.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
Web Server Design Week 7 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 2/24/10.
Web Server Design Week 13 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 4/7/10.
Web Server Design Assignment #4: Authentication Due: 04/14/2010 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein.
HTTP Here, we examine the hypertext transfer protocol (http) – originally introduced around 1990 but not standardized until 1997 (version 1.0) – protocol.
Web Server Design Week 6 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 2/17/10.
Web Server Design Assignment #5: Unsafe Methods & CGI Due: 05/05/2010 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin.
Web Protocols: HTTP COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Web Programming Week 1 Old Dominion University Department of Computer Science CS 418/518 Fall 2007 Michael L. Nelson 8/27/07.
Web Server Design Week 1 Old Dominion University Department of Computer Science CS 495/595 Spring 2006 Michael L. Nelson 1/09/06.
Web Server Design Week 3 Old Dominion University Department of Computer Science CS 495/595 Spring 2006 Michael L. Nelson 1/23/06.
Web Server Design Week 6 Old Dominion University Department of Computer Science CS 495/595 Spring 2006 Michael L. Nelson 2/13/06.
What’s Really Happening
Hypertext Transfer Protocol (HTTP) COMP6218 Web Architecture Dr Nicholas Gibbins –
The Hypertext Transfer Protocol
Web Server Design Week 10 Old Dominion University
Web Server Design Assignment #5: Unsafe Methods & CGI
Hypertext Transfer Protocol
Web Server Design Assignment #4: Authentication
Web Server Design Assignment #2: Conditionals & Persistence
Web Server Design Week 8 Old Dominion University
Web Server Design Week 7 Old Dominion University
HTTP Protocol.
Web Server Design Assignment #5 Extra Credit
HTTP Request Method URL Protocol Version GET /index.html HTTP/1.1
Web Server Design Week 5 Old Dominion University
Web Programming Assignment #1: Basic BBS Operations due: 9/28/2010
Web Server Design Assignment #2: Conditionals & Persistence
Web Server Design Week 8 Old Dominion University
Web Server Design Week 8 Old Dominion University
Web Server Design Assignment #2: Conditionals & Persistence
Old Dominion University Department of Computer Science
Web Server Design Week 6 Old Dominion University
Web Server Design Week 8 Old Dominion University
Web Server Design Week 5 Old Dominion University
Web Server Design Week 11 Old Dominion University
Web Server Design Week 3 Old Dominion University
HTTP Hypertext Transfer Protocol
Web Server Design Week 12 Old Dominion University
Web Server Design Week 12 Old Dominion University
Web Server Design Assignment #1: Basic Operations
Web Server Design Week 6 Old Dominion University
Web Server Design Assignment #5 Extra Credit
Old Dominion University Department of Computer Science
Web Server Design Week 7 Old Dominion University
Web Programming Week 1 Old Dominion University
Web Server Design Week 7 Old Dominion University
Presentation transcript:

Web Server Design Assignment #3: Transfer Encoding & Content Negotiation Due: 03/24/2010 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein

Grading To be done by an automated program that will test most (all?) combinations –assignment is listed under the day it is to be demoed in class –each group will give a 3-4 minute status report the week before an assignment is due! If you have a question: – the class list –mimic the behavior of a well known Apache server (e.g.,

Methods to Support Same as assignments 1 & 2

Status Codes to Support Same as assignments 1 & 2, plus: –300 Multiple Choice use if there are > 1 possible representations provide html list for a user to pick from –406 Not Acceptable use if there are no possible representations that match the requested q values

Request Headers Same as assignments 1 & 2 and add: –Accept –Accept-Charset –Accept-Encoding –Accept-Language –User-Agent –Referer –Negotiate

Response Headers Same as assignments 1 & 2, but add: –Vary –Content-Language –Content-Location –Content-Encoding –“Transfer-Encoding: chunked” –Alternates –TCN Modified –Content-type add charset after type if not ISO (ASCII) –see week 8 slides for examples

MIME Types Same as assignment #1

Encoding Types compress, gzip, deflate, identity, chunked –(see week 7 lecture)

Further Guidance Use “chunked” transfer encoding for any dynamically generated server response –i.e., directory listings and 3xx, 4xx, 5xx html snippets –use 2 lines as the “chunk” Use these language encodings –en, es, de, ja, ko, ru Use these non-ASCII charset encodings –“.jis” -> “iso-2022-jp” –“koi8-r” -> “koi8-r” –“euc-kr” -> “euc-kr”

Further Guidance Build “Vary” response header as: Vary: negotiate, header1, header2, …, headerN use the “Vary” header only if content negotiation has been performed No “default” q values in content negotiation –remember: content negotiation only happens if the request would have generated a 404 without content negotiation Generate structured ETags on selected representation as per RFC-2295 (section 9.2)

Status Code Definition Generate a 200: –if there is only a single representation as a result of Accept headers and q values Generate a 300: –if there are multiple representations that “tie” in q values OR the client sends a “Negotiate: 1.0” request header –generate an HTML list showing possible options Generate a 406: –if no representations are suitable given Accept headers and q values –generate an HTML list showing closest options

302 Redirection # # Incoming RE302 URI # (this overwrites the redirection from A2) # ^(.*)/galaxie(.*)$1/fairlane$2

Keep in mind: Status report in 2 weeks!

START NOW!!!