Assignments

All assignments are due by 23:59 EDT (i.e., Virginia’s local time, before midnight) on their corresponding posted dates. Late assignments lose 3 points for every 24 hours they are late unless prior arrangements are made with the instructor.

* Assignments are subject to change!

OCT
06

Assignment 1

Available Points: 20

A web server with a limited set of methods, status codes, headers, MIME types, and the access log.

Assignment 1 Details

OCT
17

Assignment 2

Available Points: 20

This assignment builds on top of the previous one and primarily focuses on conditionals and redirections with support for both long-lived and pipelined connections.

Assignment 2 Details

OCT
27

Assignment 3

Available Points: 20

This assignment builds on top of previous assignments and primarily focuses on encoding, content negotiation, and partial content.

Assignment 3 Details

NOV
17

Assignment 4

Available Points: 20

This assignment builds on top of previous assignments and primarily focuses on authentication and authorization.

Assignment 4 Details

DEC
05

Assignment 5

Available Points: 20

This assignment builds on top of previous assignments and primarily focuses on unsafe methods and server-side execution (CGI).

Assignment 5 Details

Extra Point Assignments

Opportunities to earn extra points will be made available on a rolling basis during the semester.

SEP
05

Assignment 0-0

Available Points: 5

A set of mandatory tasks, which will give extra points if done timely.

  • Join GitHub
  • Subscribe to the discussion board repository
  • Create your private assignment repository
  • Tell me what your class repository is

Assignment 0-0 Details

SEP
15

Assignment 0-1

Available Points: 5

A Dokerized echo server implementation.

  • Implement a simple echo server
  • Run it in a Docker container

Assignment 0-1 Details

SEP
26

Assignment 0-2

Available Points: 5

Creating a cloud hosting tutorial.

  • Prepare a step by step cloud server set up tutorial
  • Run an echo server in it

Assignment 0-2 Details

OCT
31

Assignment 0-3

Available Points: 6

Mobile domain redirection and non-accept-encoding content negotiation examples in the wild.

  • Redirection to mobile domain
  • Content negotiation other than accept-encoding

Assignment 0-3 Details

NOV
10

Assignment 0-4

Available Points: 9

HTTP Trailer, multiple transfer encoding, and user-agent-specific access denial examples in the wild.

  • HTTP Trailer
  • Multiple transfer encoding
  • Access denied for some user agents

Assignment 0-4 Details

DEC
12

Assignment 0-5

Available Points: 9

HTTP design improvements, WARC file comparison, and in the wild examples of non-standard status codes, wrong MIME types, and unsafe methods.

  • Non-standard status codes
  • PATCH, PUT, and DELETE methods
  • Wrong API MIME type
  • HTTP/1.1 design improvements
  • WARC file comparison

Assignment 0-5 Details