Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

DQuestion 23 8 pts A client\'s browser sends an HTTP request to a website. The w

ID: 3913261 • Letter: D

Question

DQuestion 23 8 pts A client's browser sends an HTTP request to a website. The website responds with a handshake and sets up a TCP connection. The connection setup takes 2.1 ms, including the RTT. The browser then sends the request for the website's index file. The index file references 8 additional images, which are to be requested/downloaded by the client's browser. Assuming all other conditions are equal, how much longer would non-persistent HTTP take than persistent HTTP? (Give answer in milliseconds, without units, rounded to one decimal place. For an answer of 0.01005 seconds, you would enter "10.1" without the quotes.)

Explanation / Answer

Before comparing persistent and non-persistent we need to know what they actually mean

Persistent Connection
       name itself says persistent,which means it is always connected to the server
Non-persistent Connection
       In this connection occcurs when a request occurs

RTT-> Time for a small packet to travel from client to server and back.

RTT= 2*propagation time

These two steps are similar in HTTP connection
1. For an connection Persistent or Non-persistent it is sure that to initiate TCP connection one RTT is used.
2. One RTT is used for HTTP request and first few bytes to HTTP response to return.

total = 2RTT+transmit time


Non-Persistent Connection
1. Without parallel connection - Each objection takes two RTT (assuming no window limit) one for TCP connection and other for HTTP image/text file.

2. With parallel connection - Once connection is established all the reference objects can be requested at once parallely.

Persistent connection
1.Non-Pipelined - we first establish connection which takes two RTT then we send all the objects images/text files which takes 1 RTT each

2.Pipelined - 2RTT for connection establishment and then 1RTT(assuming no window limit) for all the objects i.e. images/text.

If, total_time_for_connection is 2.1ms

that means 2.1 = 2RTT + transmit time // before requesting 8 additional images/text

if non-persistent connection is

(i) Without parallel connection, then total_time = 8*(2*RTT) + transmit_time //Each request takes two RTT (assuming no window limit) one for TCP connection and other for HTTP image/text file and we have 8 images .

(ii) With parallel connection, then total_time = 2*RTT +transmit_time +RTT(extra RTT for requesting 8 images at one parallely)

if persistent connection

(i) Non-Pipelined connection, then total_time = 2*RTT + transmit_time + 8*RTT //one RTT for each image/text

(ii) Pipelined connection, then total_time = 2*RTT + RTT + transmit_time


now assume 2*RTT = 2.1ms since all other factor are conditions are equal neglect transmit_time as it is constant

Hope it Helped !!!