如有不足之处,请予指正。
题目
假设你在浏览某网页时点击了一个超链接,URL为“https://www.kicker.com.cn/index.html”,且该URL对应的IP地址在你的计算机上没有缓存;文件index.html引用了8个小图像。域名解析过程中,无等待的一次DNS解析请求与响应时间记为RTTd,HTTP请求传输Web对象过程的一次往返时间记为RTTh。请回答下列问题:
1)你的浏览器解析到URL对应的IP地址的最短时间是多少?最长时间是多少?
由于该URL对应的IP地址在本地计算机上无缓存,所以要先去将请求发送本地DNS
最短时间:发送请求给本地DNS,本地DNS对其进行缓存,只需要一次DNS解析请求RTTd
最长时间:本地DNS无缓存,就需要向层级DNS请求解析
依次cn——com——kicker.com——kicker.com.cn——www.kicker.com.cn
需要5RTTd
2)若浏览器没有配置并行TCP连接,则基于HTTP1.0获取URL链接Web页完整内容(包括引用的图像,下同)需要多长时间(不包括域名解析时间,下同)?
基于HTTP1.0为非持久连接,则每一个TCP最多连接一个对象
HTTP建立TCP连接需要一个RTTh, HTTP请求web对象过程一次往返时间需要RTTh,则获取页面内容需要2RTTh
页面一共要引用8个图像:8 * 2RTTh
总的需要18RTTh
3) 若浏览器配置5个并行TCP连接,则基于HTTP1.0获取URL链接Web页完整内容需要多长时间?
首先建立TCP连接需要1RTTh,请求web对象过程一次往返时间需要1个RTTh,获取index.html需要2个RTTh;
8个图像进行两轮并行传输,需要2 * 2RTTh
总的需要6RTTh
4) 若浏览器没有配置并行TCP连接,则基于非流水模式的HTTP1.1获取URL链接Web页完整内容需要多长时间?基于流水模式的HTTP1.1获取URL链接Web页完整内容需要多长时间?
非流水模式的HTTP1.1,客户端只有收到前一个响应后才发出请求,每个引用对象都会耗时1个RTTh
流水模式的HTTP1.1,为持久性连接,每个TCP允许连接多个对象,客户端只要遇到一个引用就发出请求
所以,非流水模式获取页面完整内容就需要 2RTTh + 8RTTh = 10RTTh
流水模式获取页面完整内容就需要 2RTTh + 1RTTh = 3RTTh