1. The version of HTTP that the client and the server are running. Is it HTTP version 1.0 or 1.1?

Version 1.1

  1. The language (if any) that the client indicates that it can accept.

Text/HTML

  1. Identify the IP address of the client and the server.

Client: 10.0.2.4 and destination 10.0.2.254

  1. The status code returned from the server to the client.

200 OK

  1. The date and time that the retrieved HTML file last modified at the server.

Sun, 03 Sep 2017 09:41:30 GMT.

  1. The length of the content (how many bytes) that is being returned to the client.

50 bytes

  1. Identify the raw data in the packet content window

<html><body><h1>FreeBSD works!</h1></body></html>\n


  1. How many HTTP GET requests are sent by the client to the server?

2

  1. What objects the client (browser) requests from the server?

/ and favicon.ico

  1. The status code returned from the server to the client for each GET request.

200 OK and 404 Not Found.


  1. Inspect the contents of the first HTTP GET request from your browser to the server. Do you see an “IF-MODIFIED-SINCE” line in the HTTP GET?

No.

  1. Inspect the contents of the server response. Did the server explicitly return the contents of the file? How can you tell?

It did as I can see the header in the “Line-Based Text Data” section as it is displayed in the browser.

  1. Now inspect the contents of the second HTTP GET request from your browser to the server. Do you see an “IF-MODIFIED-SINCE:” line in the HTTP GET? If so, what information follows the “IF-MODIFIED-SINCE:” header?

Not on the next request but on the 5th one where we get the source (/). The information that follows is: Sun, 03 Sep 2017 09:41:30 GMT.

  1. What is the HTTP status code and phrase returned from the server in response to this second HTTP GET? Did the server explicitly return the contents of the file?

Status is 304 Not Modified. It did not return the content of the files because the browser couldn’t retrieve it from the cache. If the file was modified when it was last accessed, then it would have returned the contents. However, it simply tried to retrieve the old file from its cached memory.


  1. How many HTTP GET request messages did your browser send? Which packet number in the trace contains the GET message?

2 GET requests (one for favicon). Packet number 6 and 105.

  1. Which packet number in the trace contains the status code and phrase associated with the response to the HTTP GET request?

  2. What are the status code and phrase in the response?

Code was 200 and message was OK.

  1. How many data-containing TCP segments were needed to carry the single HTTP response and the text? (It may be helpful to change the filter to ip.addr==10.0.2.254 to see the full sequence of packets.)

49 reassembled TCP segments.


  1. How many HTTP GET request messages did your browser send?

  2. Do all requests download objects from the same URI?

Yes they all come from the same server. However, brunel-logo.png is being referred from images.html.


  1. What is the server’s response (status code and phrase) in response to the initial HTTP GET message from your browser?

  2. When your browser sends the HTTP GET message for the second time, what new field is included in the HTTP GET message?

Authorization.

CS2005 Lab 4 - Distributed Systems


Ubuntu1: 10.0.2.4/24 Ubuntu2: 10.0.3.4/24