HW 3: Protocol correctness and TritonHTTP test case generation

2018/10/11

The QUIC paper

Please read this recent paper on a Google-led improvement to the web protocol:

Langley et al., The QUIC Transport Protocol: Design and Internet-Scale Deployment. In Proceedings of the Conference of the ACM Special Interest Group on Data Communication (SIGCOMM ‘17). ACM, New York, NY, USA, 183-196. DOI: https://doi.org/10.1145/3098822.3098842

TritonHTTP test cases

Take a look at the TritonHTTP specification and HW 4 (Writing a web server), and in particular the grading rubric. For this assignment, you are going to write out test cases that you plan to use to test the correctness of your server, in a format described below. For each test case, you are going to write out (1) any conditions that need to exist on the server for the case to be tested, and (2) the expected behavior of your server (if it is working correctly). You should group the tests into categories, one per rubric item. The number of test cases pre category is up to you, however avoid writing down redundant test cases.

Each test case will be defined similar to the examples presented in HW4. You will write down the TritonHTTP request, and use the <CR> and <LF> tokens to indicate where CR and LF values are (so we can see them in your write-up). For each such test case, write out the details of the test and what you expect to see.

Examples

Example 1: A valid 200 request

GET /index.html HTTP/1.1<CR><LF>
Host: www.cs.ucsd.edu<CR><LF>
User-Agent: MyClient/1.0<CR><LF>
<CR><LF>

Pre-conditions: an HTML file called index.html exists in the doc root.

Expected behavior: the server returns a 200 status code reply followed by the text of the index.html file

Example 2: An invalid 200 request

GET /index.html HTTP/1.1<CR><LF>
User-Agent: MyClient/1.0<CR><LF>
<CR><LF>

Pre-conditions: none

Expected behavior: The server replies with a 400 status code response because the Host header is missing.

Grading

We are going to consider a set of possible tests for your webserver in HW4. For each of these tests, we’re going to look for them in your write-up. If they are there, you’ll get a point for that test, and if not, you won’t get that point.

Submitting your work

Log into gradescope.com and upload your solutions as a single PDF file. Make sure to include your name and PID in your write-up. This homework is to be done either individually, or in a group of 2. If you do a group of 2 for HW 3, you must be in that same group for HW 4.

Due date/time

Tuesday Oct 23, 5pm

Points

This assignment is worth 5 points

Assigned TA

Bhargav Heeraguppe Sridharan