2019-09-21
假設你在瀏覽某網頁時點擊了一個超鏈接,URL為“https://www.kicker.com.cn/index.html”,且該URL對應的IP地址在你的計算機上沒有緩存;文件index.html引用了8個小圖像。域名解析過程中,無等待的一次DNS解析請求與響應時間記為RTTd,HTTP請求傳輸Web對象過程的一次往返時間記為RTTh。請回答下列問題:
1)你的瀏覽器解析到URL對應的IP地址的最短時間是多少?最長時間是多少?
2)若瀏覽器沒有配置並行TCP連接,則基於HTTP1.0獲取URL鏈接Web頁完整內容(包括引用的圖像,下同)需要多長時間(不包括域名解析時間,下同)?
3) 若瀏覽器配置5個並行TCP連接,則基於HTTP1.0獲取URL鏈接Web頁完整內容需要多長時間?
4) 若瀏覽器沒有配置並行TCP連接,則基於非流水模式的HTTP1.1獲取URL鏈接Web頁完整內容需要多長時間?基於流水模式的HTTP1.1獲取URL鏈接Web頁完整內容需要多長時間?
我的答案
[本圖用於幫助理解HTTP請求過程]
答:
1)瀏覽器解析到URL對應的IP地址的最短時間是:
在主機沒有緩存的情況下,本地DNS服務器有該域名的IP地址緩存,則最短時間為 RTTd。
最長時間是:
在主機沒有緩存,且使用遞歸查詢的情況下,本地local DNS 服務器就會將該DNS請求發給Root DNS服務器,
然后Root DNS服務器將DNS請求發給頂級域名服務器TLD,然后頂級域名服務器TLD將該DNS請求發給權威域名服務器,
權威域名服務器找到DNS請求的IP地址后按原路一層一層返回請求,最長時間為 (4+1)RTTd = 5*RTTd。
2)若瀏覽器沒有配置並行TCP連接,則基於HTTP1.0(使用非持久連接,一次TCP連接最多允許傳輸一個對象,共1個html內容+8個圖像,共打開9次tcp連接,也就多了9次RTT的時間。)
若瀏覽器沒有配置並行TCP連接,則基於HTTP1.0獲取URL鏈接Web頁完整內容(包括引用的圖像,下同)需要多長時間(不包括域名解析時間,下同)?
獲取URL鏈接Web頁完整內容需要多長時間(不包括域名解析時間)為:
第一次建立TCP連接用掉一個RTTh,獲取Html文件用掉一個RTTh;
因為是非持久連接,所以每次傳輸文件都要重新打開TCP連接,用掉一個RTTh,
后面還有8個小圖像,就需要打開8次TCP連接,同時有8次傳輸小圖像所用8個RTTh,
綜上,共計:1RTTh+1RTTh+8RTTh+8RTTh=18RTTh。
2 *( 一次建立TCP連接的時間+(html內容的傳輸時間+8次的小圖像傳輸所需時間))
= 2*(RTTh+RTTh+8*RTTh) = 18*RTTh。
3)若瀏覽器配置5個並行TCP連接,則基於HTTP1.0(使用非持久連接,每個TCP連接最多允許傳輸一個對象)
獲取URL鏈接Web頁完整內容需要的時間為:
因為使用非持久連接,所以每次傳輸文件或請求都要打開TCP連接,所以
(首次 建立TCP連接RTTh+獲得html文件內容RTTh)+ 2輪 * 獲取8個圖像地址信息RTTH = 2RTTh + 2*2個RTTh = 6RTTh。
【注】:
兩輪是指:因為每次5個並行TCP連接,一共有8個小圖像,第一次傳輸5個,第二次傳輸剩余的3個,所以為2輪。
而每輪都要打開一次TCP連接用了1個RTTh,又同時傳輸圖像用了一個RTTh,所以為2輪*2個RTTh=4RTTh,
再加上最初的2個用於開TCP連接和獲取Html文件的RTTh,共計2+4=6RTTh。
4)
若瀏覽器沒有配置並行TCP連接,則基於非流水模式的HTTP1.1獲取URL鏈接Web頁完整內容需要時間為:
1RTTh(TCP持久連接)+ 1RTTh(1次html內容獲取)+ 8RTTh(8個圖像傳輸時間) = 10RTTh。
基於流水模式的HTTP1.1獲取URL鏈接Web頁完整內容需要時間為:
1RTTh(TCP持久連接)+ 1RTTh (1次html內容獲取)+ 1RTTh(8個圖像傳輸時間)= 3RTTh。
該題得分:12
互評模塊 (該階段只有在互評階段開放后才可使用)
得分指導:
評分標准:
1) 本小題滿分12分,只要認真完成作業(無論對錯),就可以得到基本分:4分;
2) 正確解答每個小問,參考答案中標記給分,共12分。
3)若給出結果不正確,但分析過程正確或部分正確可酌情給分。
參考答案:
1)瀏覽器解析到URL對應的IP地址的最短時間是:RTTd;(2分)最長時間是:5RTTd。(2分)
2)若瀏覽器沒有配置並行TCP連接,則基於HTTP1.0獲取URL鏈接Web頁完整內容需要的時間:18RTTh。(2分)
3) 若瀏覽器配置5個並行TCP連接,則基於HTTP1.0獲取URL鏈接Web頁完整內容需要的時間:6RTTh。(2分)
4) 若瀏覽器沒有配置並行TCP連接,則基於非流水模式的HTTP1.1獲取URL鏈接Web頁完整內容需要的時間:10RTTh;(2分)基於流水模式的HTTP1.1獲取URL鏈接Web頁完整內容需要的時間:3RTTh。(2分)
student1:內容充實 答案完整
student2:無
student3:完美
自評評價:答案可能寫的有些繁瑣,詳細的寫出思路也是極好的,今后復習也會容易找到思路。繼續保持這種學習狀態,加油!