第2章应用层1疑难:▇重点:★一般:▲了解:◆自学:※第2章应用层一、选择题1.在Web应用中的客户端是:A.用户鼠标B.用户键盘C.用户显示器D.都不是答案:D提示:一个网络应用协议通常拥有客户端和服务端着两个对等的“端”或实体,它们分别对应运行客户程序的客户进程(简称客户)和运行服务器程序的服务器进程(简称服务器)。2.从一台主机传到另一台主机的HTML文件属于:A.丢失-不容忍,对时间敏感B.丢失-容忍,对时间敏感C.丢失-不容忍,对时间不敏感D.都不是答案:C提示:Web应用要求完全可靠地传送数据,也就是说不能有数据丢失。但Web应用并不提供实时性。3.因特网电话一般运行在什么协议之上?A.HTPPB.UDPC.TCPD.都不是答案:B提示:因特网电话可以容忍数据丢失,因此并不需要由TCP提供的可靠数据传输服务。4.浏览器产生的头部行包含的信息有:第2章应用层2疑难:▇重点:★一般:▲了解:◆自学:※A.浏览器类型和版本B.浏览器是否带有请求对象版本的缓存C.浏览器的配置D.以上都有答案:D5.如果一个客户端发送一个带if-modified-since首部的HTTP请求报文。假设服务器端对象昀后一次被某客户端检索后没有修改过。那么,这时服务器返回的响应信息带有的状态码是:A.404NotFoundB.304NotModifiedC.200OKD.都不是答案:B提示:带有if-modified-since条件的报文告知服务器,只有在该对象自所指定的时间以来被修改了的前提才发送它。“304NotModified”响应报文告知客户可以放心使用所请求对象的高速缓存版本。6.如果在教材高速缓存的例子中,命中率是5(而不是4),那么平均时延是:A.在1.2到1.3秒之间B.大于2秒C.在1.0到1.1秒之间D.都不是答案:C7.SMTP是用于A.定义报文头部的格式B.从邮件服务器向用户代理发送报文C.在两个邮件服务器之间传送报文D.以上都是答案:C第2章应用层3疑难:▇重点:★一般:▲了解:◆自学:※提示:SMTP用于从发送者的邮件服务器到接收者的邮件服务器传送邮件报文,也用于从发送者的用户代理到发送者的邮件服务器传送邮件报文;POP3或IMAP用于从接收者的邮件服务器到接收者的用户代理传送邮件报文。8.如果DNS服务器的资源记录中Type=MX,那么A.Value是主机别名为Name的邮件服务器的主机名。B.Value是权威名称DNS服务器的主机名。C.Value是主机别名为Name的邮件服务器的IP地址D.以上都不是答案:A提示:每个DNS应答报文携带着一个或者多个资源记录。一个四元组的资源记录包括以下的字段:(Name,Value,Type,TTL)。TTL是留住资源记录的时间;它确定了一个资源从缓存中删除的时间。Name和Value的意义依赖于Type。如果Type=MX,那么Value就是一个主机别名为Name的邮件服务器的主机名。9.本地DNS域名服务器:A.不缓存资源记录。B.缓存资源记录,但有规律的在一段时间之后丢弃这些数据。C.缓存资源记录并且从不丢弃它们。D.从Web的缓存中获得资源记录。答案:B提示:为了减少延迟和网络中DNS消息的数量,DNS扩展性地使用了缓存。即当一个名称服务器接收到某个主机名称的DNS映射的时候,把映射缓存到局部存储器(磁盘或RAM)中。因为主机名和它IP的映射并不是永远的都不变的,所以DNS服务器在一段时间之后(通常设置为两天)会丢弃缓冲中的记录。10.下列哪一种程序不需要使用流:A.UDP客户端B.TCP客户端C.UDP服务器D.TCP服务器第2章应用层4疑难:▇重点:★一般:▲了解:◆自学:※答案:C提示:数据流传输基于TCP服务。二、判断题1.如果一个HTTP请求报文的首部使用fr作为Accept-Language,而服务器只有英文版本的对象,那么服务器将返回“404DocumentNotFound”报错报文。答案:错误。提示:Accept-language:fr指出要是所请求对象有法语版本,那么用户宁愿接收这个版本;如果没有法语版本,那么服务器应该发送其默认版本。2.服务器能够在没有得到用户允许的情况下,使用cookies来确定用户的邮件地址。答案:错误3.典型地,Web在类型为multipart的MIME报文中发送Web页中的多个对象。答案:错误提示:MIME是多用途因特网邮件扩展,用于处理电子邮件消息中包含的不同对象。4.使用POP3客户端,用户的文件信息是保存在邮件服务器上的。答案:错误提示:客户端程序将文件信息保存在本地。5.邮件客户端可以不用SMTP而是使用HTTP传输邮件。答案:正确提示:可以使用基于浏览器的电子邮件服务,用户代理是普通的Web浏览器。所以,用户与存放在邮件服务器主机上的邮箱之间的交互是由HTTP完成的。6.如果POP3客户端没有发送删除命令,客户端已获取的信息仍将保存在邮件服务器中。第2章应用层5疑难:▇重点:★一般:▲了解:◆自学:※答案:正确提示:使用POP3的用户代理可以由用户配置成“下载并删除”或“下载并保留”两种模式之一。7.SMTP支持在同一个TCP连接上发送多个邮件信息。答案:正确提示:SMTP使用持久连接,也就是说,如果发送邮件服务器有多个邮件消息需要发送到同一个接收邮件服务器,那么所有这些消息可以在同一个TCP连接中发送。8.DNS查询常常结合了递归和迭代查询。答案:正确9.如果浏览器和服务器之间是非持久连接,一个TCP数据段能够包含两个独立的HTTP请求报文。答案:错误提示:所谓非持久连接,就是说每次服务器发出一个对象后,相应的TCP连接就被关闭,也就是说,每个连接都没有持续到可用于传送其它对象。10.HTTP响应报文头部的Date部分指明对象昀后更新的时间。答案:错误提示:Date:头部行指出服务器创建并发送本响应消息的日期和时间。三、复习题2.1节1★列出5种非私有的因特网应用程序及它们使用的应用层协议。答案:应用程序应用层协议WebHTTP文件传输FTP远程登陆Telnet第2章应用层6疑难:▇重点:★一般:▲了解:◆自学:※网络新闻组NNTP电子邮件SMTP2◆网络体系结构与应用体系结构之间有什么区别?答案:网络体系结构是从分层的角度来考虑进程间的通讯组织结构。(例如:5层因特网体系结构)而应用体系结构是由应用层开发者设计的,规定应用程序的主要结构。(例如:客户机/服务器,P2P)3▲以什么样的方式看,即时通讯是客户机/服务器和P2P体系结构的混合体?答案:在即时通信中,一般地,一个用户在初始即时通讯时,需要和中央服务建立联系以定位接收者的地址(IPd地址)。这就是客户机/服务器模式。在这之后,即时通讯就成了点对点的通讯:即消息是直接在通讯双方间进行传送的。4★对于两个进程之间的通讯会话,哪个是客户机,哪个是服务器?答案:发起通信的进程为客户端,等待被连接的一端为服务端。5▲对P2P文件共享应用,你同意“在通信会话中不存在客户端和服务端的概念”这种说法吗?为什么?答案:不同意这种说法。在本章已表明:在所有的通讯会话中都存在客户端和服务端。在P2P文件共享应用中,接收文件的一端称是典型的客户端,而发送文件的一端为典型的服务端。6★运行在一台主机上的一个进程使用什么信息来标识运行在另一台主机上的进程?答案:目标主机的IP地址和目的套接字的端口号。7◆在日常应用的基础上,列出你使用的各种网络应用程序的用户代理。答案:浏览器,邮件阅读器,FTP用户代理,Telent用户代理,音频/视频播放器用户代理(例如RealNetworksplayer),即时通讯用户代理,P2P用户代理等等。第2章应用层7疑难:▇重点:★一般:▲了解:◆自学:※8◆参见图2-4,我们看见图中所列出的应用程序中没有一种既要求“无数据丢失”又要求“实时性”的。您能构想出一种既要求无数据丢失,又具有高度的时间敏感度的应用程序吗?答案:现在还没有既要求“无数据丢失”又要求“实时性”的很好的应用程序例子,如果你能想到这种例子,请发邮件通知作者。2.2~2.6节9★握手协议意味着什么?答案:当两个通讯实体在相互发送数据之前第一次交换控制信息时,使用握手协议。SMTP在应用层使用握手协议,而HTTP不使用。10★为什么HTTP、FTP、SMTP、POP3及IMAP都运行在TCP之上,而不是UDP?答案:所有这些协议的应用都要求所有的应用程序数据按正确的顺序无差错地到达目的地。TCP可以提供这种服务,而UDP不能.11※假设一个电子商务网站需要保留每一个客户的购买记录,如何使用cookies来完成该功能?答案:当用户第一次访问该网页时,网页向用户返回一个cookie标识数。这个标识数会存储在用户的主机上,并由浏览器管理。在后续的访问中(如购买物品),用户的浏览器会将这个标识数发送回网页。因此当该用户(更准确的说是浏览器)访问这个网页时,这个网页便得到了用户的信息。12◆带流水线的持久HTTP和不带流水线的持久HTTP有什么区别?HTTP/1.1使用的是哪一种协议?答案:在不带流水线持久HTTP方式下,浏览器只能等待从服务端接收到前一个HTTP响应之后才能发出新的HTTP请求。在带流水线HTTP方式下,浏览器在需要的时候可以立刻发送请求,而不需要等待服务段返回响应消息。HTTP/1.1的默认模式是使用带流水线的持久连接。13▲描述Web高速缓存服务器在接收一个请求对象的时候,是怎样减少延迟的。Web高速缓存服务器会减少用户所有请求对象的延迟,还是只减少其中某些对象的延迟?为什么?答案:Web高速缓存服务器让用户请求的对象离用户“更近”,也许与用户主机连接在同一局域第2章应用层8疑难:▇重点:★一般:▲了解:◆自学:※网内。Web高速缓存服务器能减少用户请求的所有对象的延迟,包括没有存储在高速缓存服务器中的对象,因为它降低了访问链路上的流量。14◆远程登录到一个Web服务器上并发送一个多行的请求消息。在请求消息包括If-modified-since:头部行,以强迫响应消息具有304NotModified状态代码。答案:略。15★为什么说FTP发送“带宽之外的”控制信息?答案:FTP使用两个并行的TCP连接,一个用于发送控制信息(比如请求传输一个文件),另一个连接才是实际用来传输文件的。因为控制信息的发送和文件的传输不在同一个连接上进行,所以FTP的控制信息是“带外”传送的。16◆假定Alice使用一个基于Web电子邮件帐户(例如Hotmail)向Bob发送了一个报文,Bob是使用POP3通过邮件服务器来访问自己的邮件。讨论一下该报文是怎样从Alice主机到达Bob主机的。一定要列出用来在两个主机之间进行报文移动的一系列应用层协议。答案:报文从Alice的主机传到她的邮件服务器是使用HTTP协议。然后Alice的邮件服务器通过SMTP协议将报文传送到Bob的邮件服务器。昀后报文通过POP3协议从Bob的邮件服务器传送到Bob的主机上。17◆打印出你昀近收到的一封电子邮件的报文头部。共有多少个Received:头部行?分析该报文中的每一个头部行。答案:略。18◆从用户的观点看,POP3协议中“下载并删除”模式和“下载并保留”模式有什么区别?提示:带有if-modified-since条件的报文告知服务器,只有在该对象自所指定的时间以来被修改了的前提才发送它。“304NotModified”响应报文告知客户可以放心使用所请求对象的高速缓存版本。19◆可能发生这样的情况吗:一个机构的Web服务器和邮件服务器恰好对于一个主机名有相同的别第2章应用层9疑难:▇重点:★一般:▲了解:◆自学:※名(例如:foo.com)?包含邮件服务器主机名的RR的类型是什么?答案:是的,机构的邮件服务器和Web服务器对于一个主机名可以有相同的别名。MX记录用来将邮件服务器的主机名映射到它的IP地址。20※覆盖网络在P2P文件共享系统中是怎样的?它包括路由器吗?覆盖网络中的边缘是什么?Gn