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 !!!
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.