资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,课件制作人:谢希仁,*,计算机网络(第,5,版),第,6,章 应用层,课件制作人:谢希仁,第,6,章,应用层,6.1,域名系统,DNS,6.1.1,域名系统概述,6.1.2,因特网的域名结构,6.1.3,域名服务器,6.2,文件传送协议,6.2.1 FTP,概述,6.2.2 FTP,的基本工作原理,6.2.3,简单文件传送协议,TFTP,课件制作人:谢希仁,第,6,章,应用层(续),6.3,远程终端协议,TELNET,6.4,万维网,WWW,6.4.1,概述,6.4.2,统一资源定位符,URL,6.4.3,超文本传送协议,HTTP,6.4.4,万维网的文档,6.4.5,万维网的信息检索系统,课件制作人:谢希仁,第,6,章,应用层(续),6.5,电子邮件,6.5.1,电子邮件概述,6.5.2,简单邮件传送协议,SMTP,6.5.3,电子邮件的信息格式,6.5.4,邮件读取协议,POP3,和,IMAP,6.5.5,基于万维网的电子邮件,6.5.6,通用因特网邮件扩充,MIME,课件制作人:谢希仁,第,6,章,应用层(续),6.6,动态主机配置协议,DHCP,6.7,简单网络管理协议,SNMP,6.7.1,网络管理的基本概念,6.7.2,管理信息结构,SMI,6.7.3,管理信息库,MIB,6.7.4 SNMP,的协议数据单元和报文,6.8,应用进程跨越网络的通信,6.8.1,系统调用和应用编程接口,6.8.2,几种常用的系统调用,课件制作人:谢希仁,应用层协议的特点,每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。,应用层的许多协议都是基于客户服务器方式。客户,(client),和服务器,(server),都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。,课件制作人:谢希仁,6.1,域名系统,DNS,6.1.1,域名系统概述,许多应用层软件经常直接使用,域名系统,DNS(Domain Name System),,但计算机的用户只是间接而不是直接使用域名系统。,因特网采用层次结构的命名树作为主机的名字,并使用,分布式,的域名系统,DNS,。,名字到,IP,地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为,域名服务器,。,课件制作人:谢希仁,6.1.2,因特网的域名结构,因特网采用了层次树状结构的命名方法。,任何一个连接在因特网上的主机或路由器,都有一个,唯一,的层次结构的名字,即,域名,。,域名的结构由标号序列组成,各标号之间用,点,隔开:,.,三级域名,.,二级域名,.,顶级域名,各标号分别代表不同级别的域名。,课件制作人:谢希仁,域名只是个逻辑概念,域名只是个逻辑概念,并不代表计算机所在的物理地点。,变长的域名和使用有助记忆的字符串,是为了便于人来使用。而,IP,地址是定长的,32,位二进制数字则非常便于机器进行处理。,域名中的“点”和点分十进制,IP,地址中的“点”并无一一对应的关系。点分十进制,IP,地址中一定是包含三个“点”,但每一个域名中“点”的数目则不一定正好是三个。,课件制作人:谢希仁,顶级域名,TLD,(Top Level Domain),(1),国家顶级域名,nTLD,:如,:.,cn,表示中国,,.us,表示美国,,.,uk,表示英国,等等。,(2),通用顶级域名,gTLD,:最早的顶级域名是:,.com,(公司和企业),.net,(网络服务机构),.org,(非赢利性组织),.,edu,(美国专用的教育机构(),.,gov,(美国专用的政府部门),.mil,(美国专用的军事部门),.,int,(国际组织),课件制作人:谢希仁,顶级域名,TLD,(续),(3),基础结构域名,(infrastructure domain),:这种顶级域名只有一个,即,arpa,,用于反向域名解析,因此又称为反向域名。,课件制作人:谢希仁,新增加了下列的通用顶级域名,.aero,(航空运输企业),.biz,(公司和企业),.cat,(加泰隆人的语言和文化团体),.coop,(合作团体),.info,(各种情况),.jobs,(人力资源管理者),.,mobi,(移动产品与服务的用户和提供者),.museum,(博物馆),.name,(个人),.pro,(有证书的专业人员),.travel,(旅游业),课件制作人:谢希仁,因特网的域名空间,根,四级域名,mail,www,bj,edu,com,cctv,ibm,hp,二级域名,pku,tsinghua,三级域名,mail,www,com,net,org,edu,gov,aero,cn,uk,顶级域名,课件制作人:谢希仁,6.1.3,域名服务器,一个服务器所负责管辖的(或有权限的)范围叫做,区,(zone),。,各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。,每一个区设置相应的,权限域名服务器,,用来保存该区中的所有主机的域名到,IP,地址的映射。,DNS,服务器的管辖范围不是以“域”为单位,而是以“区”为单位。,课件制作人:谢希仁,区的不同划分方法举例,域,区,abc,x,u,v,w,t,y,(a),区,=,域,(b),区,域,域,区,区,abc,x,u,v,w,t,y,com,edu,org,根,com,edu,org,根,课件制作人:谢希仁,树状结构的,DNS,域名服务器,根域名服务器,org,域名服务器,com,域名服务器,edu,域名服务器,域名服务器,abc,公司有两个,权限域名服务器,权限域名服务器,根域名服务器,顶级域名服务器,域名服务器,课件制作人:谢希仁,域名服务器有以下四种类型,根域名服务器,顶级域名服务器,权限域名服务器,本地域名服务器,课件制作人:谢希仁,根域名服务器,最高层次的域名服务器,根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和,IP,地址。,不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。,在因特网上共有,13,个不同,IP,地址的根域名服务器,它们的名字是用一个英文字母命名,从,a,一直到,m,(前,13,个字母)。,课件制作人:谢希仁,根域名服务器共有,13,套装置(不是,13,个机器),这些根域名服务器相应的域名分别是,到,2006,年底全世界已经安装了一百多个根域名服务器机器,分布在世界各地。,这样做的目的是为了方便用户,使世界上大部分,DNS,域名服务器都能,就近,找到一个根域名服务器。,课件制作人:谢希仁,举例:根域名服务器,f,的地点分布图,根域名服务器并不直接把域名直接转换成,IP,地址。,在使用迭代查询时,根域名服务器把下一步应当找,的顶级域名服务器的,IP,地址告诉本地域名服务器。,共,40,个机器,课件制作人:谢希仁,顶级域名服务器,(即,TLD,服务器),这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。,当收到,DNS,查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的,IP,地址)。,课件制作人:谢希仁,权限域名服务器,这就是前面已经讲过的负责一个区的域名服务器。,当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的,DNS,客户,下一步应当找哪一个权限域名服务器。,课件制作人:谢希仁,本地域名服务器,本地域名服务器对域名系统非常重要。,当一个主机发出,DNS,查询请求时,这个查询请求报文就发送给本地域名服务器。,每一个因特网服务提供者,ISP,,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,,这种域名服务器有时也称为,默认域名服务器,。,课件制作人:谢希仁,提高域名服务器的可靠性,DNS,域名服务器都把数据复制到几个域名服务器来保存,其中的一个是,主域名服务器,,其他的是,辅助域名服务器,。,当主域名服务器出故障时,辅助域名服务器可以保证,DNS,的查询工作不会中断。,主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。,课件制作人:谢希仁,域名的解析过程,主机向本地域名服务器的查询一般都是采用,递归查询,。如果主机所询问的本地域名服务器不知道被查询域名的,IP,地址,那么本地域名服务器就以,DNS,客户的身份,向其他根域名服务器继续发出查询请求报文。,本地域名服务器向根域名服务器的查询通常是采用,迭代查询,。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的,IP,地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。,课件制作人:谢希仁,本地域名服务器采用迭代查询,顶级域名服务器,权限,域名服务,本地域名服务器,根域名服务器,迭代查询,的,IP,地址,递归,查询,需要查找,的,IP,地址,课件制作人:谢希仁,本地域名服务器采用递归查询,(比较少用),顶级域名服务器,权限,域名服务,本地域名服务器,根域名服务器,递归查询,递归,查询,的,IP,地址,需要查找,的,IP,地址,课件制作人:谢希仁,名字的高速缓存,每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。,可大大减轻根域名服务器的负荷,使因特网上的,DNS,查询请求和回答报文的数量大为减少。,为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(例如,每个项目只存放两天)。,当权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性。,课件制作人:谢希仁,6.2,文件传送协议,6.2.1 FTP,概述,文件传送协议,FTP(File Transfer Protocol),是因特网上使用得最广泛的文件传送协议。,FTP,提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。,FTP,屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。,RFC 959,很早就成为了因特网的正式标准。,课件制作人:谢希仁,文件传送并非很简单的问题,网络环境中的一项基本应用就是将文件从一台计算机中复制到另一台可能相距很远的计算机中。,初看起来,在两个主机之间传送文件是很简单的事情。,其实这往往非常困难。原因是众多的计算机厂商研制出的文件系统多达数百种,且差别很大。,课件制作人:谢希仁,6.2.2 FTP,的基本工作原理,网络环境下复制文件的复杂性:,(1),计算机存储数据的格式不同。,(2),文件的目录结构和文件命名的规定不同。,(3),对于相同的文件存取功能,操作系统使用的命令不同。,(4),访问控制方法不同。,课件制作人:谢希仁,FTP,特点,文件传送协议,FTP,只提供文件传送的一些基本的服务,它使用,TCP,可靠的运输服务。,FTP,的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。,FTP,使用,客户服务器方式,。一个,FTP,服务器进程可同时为多个客户进程提供服务。,FTP,的服务器进程由两大部分组成:一个,主进程,,负责接受新的请求;另外有若干个,从属进程,,负责处理单个请求。,课件制作人:谢希仁,主进程的工作步骤如下,打开熟知端口(端口号为,21,),使客户进程能够连接上。,等待客户进程发出连接请求。,启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。,回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。,课件制作人:谢希仁,两个连接,控制连接,在整个会话期间一直保持打开,,FTP,客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。,实际用于传输文件的是“,数据连接,”。服务器端的控制进程在接收到,FTP,客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。,数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。,课件制作人:谢希仁,FTP,使用的两个,TCP,连接,控制进程,FTP,客户端,FTP,服务器端,因特网,TCP,控制连接,TCP,数据连接,用户界面,控制进程,数据传送,进程,数据传送,进程,课件制作人:谢希仁,当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的,熟知端口,(21),,同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。,接着,服务器进程用自己传送数据的,熟知端口,(20),与客户进程所提供的端口号码建立数据传送连接。,由于,FTP,使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。,两个不同的端口号,课件制作人:谢希仁,使协议更加简单和更容易实现。,在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)。,使用两个不同端口号的好处,课件制作人:谢希仁,NFS,采用另一种思路,NFS,允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。,NFS,可使用户只复制一个大文件中的一个很小的片段,而不需要复制整个大文件。,对于上述例子,计算机,A,的,NFS,客户软件,把要添加的数据和在文件后面写数据的请求一起发送到远地的计算机,B,的,NFS,服务器。,NFS,服务器更新文件后返回应答信息。,在网络上传送的只是少量的修改数据。,课件制作人:谢希仁,6.2.3,简单文件传送协议,TFTP,(Trivial File Transfer Protocol),TFTP,是一个很小且易于实现的文件传送协议。,TFTP,使用客户服务器方式和使用,UDP,数据报,因此,TFTP,需要有自己的差错改正措施。,TFTP,只支持文件传输而不支持交互。,TFTP,没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。,课件制作人:谢希仁,TFTP,的主要特点是,(1),每次传送的数据,PDU,中有,512,字节的数据,但最后一次可不足,512,字节。,(2),数据,PDU,也称为,文件块,(block),,每个块按序编号,从,1,开始。,(3),支持,ASCII,码或二进制传送。,(4),可对文件进行读或写。,(5),使用很简单的首部。,课件制作人:谢希仁,TFTP,的工作很像停止等待协议,发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。,发完数据后在规定时间内收不到确认就要重发数据,PDU,。,发送确认,PDU,的一方若在规定时间内收不到下一个文件块,也要重发确认,PDU,。这样就可保证文件的传送不致因某一个数据报的丢失而告失败。,课件制作人:谢希仁,TFTP,的工作很像停止等待协议,在一开始工作时。,TFTP,客户进程发送一个读请求,PDU,或写请求,PDU,给,TFTP,服务器进程,其熟知端口号码为,69,。,TFTP,服务器进程要选择一个新的端口和,TFTP,客户进程进行通信。,若文件长度恰好为,512,字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据,PDU,。,若文件长度不是,512,字节的整数倍,则最后传送数据,PDU,的数据字段一定不满,512,字节,这正好可作为文件结束的标志。,课件制作人:谢希仁,6.3,按远程终端协议,TELNET,TELNET,是一个简单的远程终端协议,也是因特网的正式标准。,用户用,TELNET,就可在其所在地通过,TCP,连接注册(即登录)到远地的另一个主机上(使用主机名或,IP,地址)。,TELNET,能将用户的击键传到远地主机,同时也能将远地主机的输出通过,TCP,连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。,课件制作人:谢希仁,客户服务器方式,现在由于,PC,机的功能越来越强,用户已较少使用,TELNET,了。,TELNET,也使用客户服务器方式。在本地系统运行,TELNET,客户进程,而在远地主机则运行,TELNET,服务器进程。,和,FTP,的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。,课件制作人:谢希仁,TELNET,使用网络虚拟终端,NVT,格式,因特网,TCP,连接,客户端,服务器端,使用客户端的格式,使用服务器端的格式,使用,NVT,格式,客户,服务器,课件制作人:谢希仁,网络虚拟终端,NVT,格式,客户软件把用户的击键和命令转换成,NVT,格式,并送交服务器。,服务器软件把收到的数据和命令,从,NVT,格式转换成远地系统所需的格式。,向用户返回数据时,服务器把远地系统的格式转换为,NVT,格式,本地客户再从,NVT,格式转换到本地系统所需的格式。,课件制作人:谢希仁,6.4,万维网,WWW,6.4.1,万维网概述,万维网,WWW(World Wide Web),并非某种特殊的计算机网络。,万维网是一个大规模的、联机式的信息储藏所。,万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。,这种访问方式称为“,链接,”。,课件制作人:谢希仁,万维网提供分布式服务,万维网,站点,A,万维网,站点,C,万维网站点,E,万维网站点,D,万维网站点,B,链接到,链接到,链接到,链接到,链接到,链接到,课件制作人:谢希仁,超媒体与超文本,万维网是,分布式超媒体,(hypermedia),系统,它是,超文本,(hypertext),系统的扩充。,一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。,超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。,课件制作人:谢希仁,万维网的工作方式,万维网以客户服务器方式工作。,浏览器,就是在用户计算机上的万维网,客户程序,。万维网文档所驻留的计算机则运行,服务器程序,,因此这个计算机也称为,万维网服务器,。,客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。,在一个客户程序主窗口上显示出的万维网文档称为,页面,(page),。,课件制作人:谢希仁,万维网必须解决的问题,(1),怎样标志分布在整个因特网上的万维网文档?,使用,统一资源定位符,URL(Uniform Resource Locator),来标志万维网上的各种文档。,使每一个文档在整个因特网的范围内具有唯一的标识符,URL,。,课件制作人:谢希仁,万维网必须解决的问题,(2),用何协议实现万维网上各种超链的链接?,在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是,超文本传送协议,HTTP(,HyperText,Transfer Protocol),。,HTTP,是一个应用层协议,它使用,TCP,连接进行可靠的传送。,课件制作人:谢希仁,万维网必须解决的问题,(3),怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链?,超文本标记语言,HTML(,HyperText,Markup Language),使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。,课件制作人:谢希仁,万维网必须解决的问题,(4),怎样使用户能够很方便地找到所需的信息?,为了在万维网上方便地查找信息,用户可使用各种的搜索工具(即搜索引擎)。,课件制作人:谢希仁,6.4.2,统一资源定位符,URL,1.URL,的格式,统一资源定位符,URL,是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。,URL,给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。,只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。,URL,相当于一个文件名在网络范围的扩展。因此,URL,是与因特网相连的机器上的任何可访问对象的一个指针。,课件制作人:谢希仁,URL,的一般形式,由以冒号隔开的两大部分组成,并且在,URL,中的字符对大写或小写没有要求。,URL,的一般形式是:,:/:/,ftp,文件传送协议,FTP,http,超文本传送协议,HTTP,News USENET,新闻,课件制作人:谢希仁,URL,的一般形式(续),由以冒号隔开的两大部分组成,并且在,URL,中的字符对大写或小写没有要求。,URL,的一般形式是:,:/:/,是存放资源的主机,在因特网中的域名,课件制作人:谢希仁,URL,的一般形式(续),由以冒号隔开的两大部分组成,并且在,URL,中的字符对大写或小写没有要求。,URL,的一般形式是:,:/:/,有时可省略,课件制作人:谢希仁,使用,HTTP,的,URL,使用,HTTP,的,URL,的一般形式,:/,这表示使用,HTTP,协议,课件制作人:谢希仁,使用,HTTP,的,URL,使用,HTTP,的,URL,的一般形式,:/,冒号和两个斜线是规定的格式,课件制作人:谢希仁,使用,HTTP,的,URL,使用,HTTP,的,URL,的一般形式,:/,这里写主机的域名,课件制作人:谢希仁,使用,HTTP,的,URL,使用,HTTP,的,URL,的一般形式,:/,HTTP,的默认端口号是,80,,通常可省略,课件制作人:谢希仁,使用,HTTP,的,URL,使用,HTTP,的,URL,的一般形式,:/,若再省略文件的,项,则,URL,就指到因特网上的某个,主页,(home page),。,课件制作人:谢希仁,6.4.3,超文本传送协议,HTTP,1.HTTP,的操作过程,为了使超文本的链接能够高效率地完成,需要用,HTTP,协议来传送一切必须的信息。,从层次的角度看,,HTTP,是,面向事务的,(transaction-oriented),应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。,课件制作人:谢希仁,万维网的工作过程,因特网,服务器,链接到,URL,的超链,HTTP,使用此,TCP,连接,浏览器,程序,服务器,程序,HTTP,客户,清华大学,院系设置,建立,TCP,连接,释放,TCP,连接,HTTP,响应报文,响应文档,HTTP,请求报文,请求文档,课件制作人:谢希仁,用户点击鼠标后所发生的事件,(1),浏览器分析超链指向页面的,URL,。,(2),浏览器向,DNS,请求解析,的,IP,地址。,(3),域名系统,DNS,解析出清华大学服务器的,IP,地址。,(4),浏览器与服务器建立,TCP,连接,(5),浏览器发出取文件命令:,GET/,chn/yxsz/index.htm,。,(6),服务器给出响应,把文件,index.htm,发给浏览器。,(7)TCP,连接释放。,(8),浏览器显示“清华大学院系设置”文件,index.htm,中的所有文本。,课件制作人:谢希仁,HTTP,的主要特点,HTTP,是面向事务的客户服务器协议。,HTTP 1.0,协议是,无状态的,(stateless),。,HTTP,协议本身也是无连接的,虽然它使用了面向连接的,TCP,向上提供的服务。,课件制作人:谢希仁,RTT,RTT,请求一个万维网文档所需的时间,万维网服务器,万维网客户,发起,TCP,连接,HTTP,请求报文,传输文档的时间,整个文档收到,时间,时间,HTTP,响应报文,课件制作人:谢希仁,持续连接,(persistent connection),HTTP/1.1,协议使用持续连接。,万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的,HTTP,请求报文和响应报文。,这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。,目前一些流行的浏览器(例如,,IE 6.0,)的默认设置就是使用,HTTP/1.1,。,课件制作人:谢希仁,持续连接的两种工作方式,非流水线方式:客户在收到前一个响应后才能发出下一个请求。这比非持续连接的两倍,RTT,的开销节省了建立,TCP,连接所需的一个,RTT,时间。但服务器在发送完一个对象后,其,TCP,连接就处于空闲状态,浪费了服务器资源。,流水线方式:客户在收到,HTTP,的响应报文之前就能够接着发送新的请求报文。一个接一个的请求报文到达服务器后,服务器就可连续发回响应报文。使用流水线方式时,客户访问所有的对象只需花费一个,RTT,时间,使,TCP,连接中的空闲时间减少,提高了下载文档效率。,课件制作人:谢希仁,代理服务器,(proxy server),代理服务器,(proxy server),又称为万维网高速缓存,(Web cache),,它代表浏览器发出,HTTP,请求。,万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。,当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按,URL,的地址再去因特网访问该资源。,课件制作人:谢希仁,使用高速缓存可减少访问因特网服务器的时延,校园网,源点服务器,2 Mb/s,因特网,浏览器,R,1,R,2,这条链路上,的时延很大,没有使用高速缓存的情况,所有万维网通信量,都经过这条链路,课件制作人:谢希仁,使用高速缓存的情况,校园网,校园网的高速缓存,(代理服务器),源点服务器,2 Mb/s,因特网,浏览器,R,1,R,2,(1),浏览器访问因特网的服务器时,要先与校园网的高速缓存建立,TCP,连接,并向高速缓存发出,HTTP,请求报文,课件制作人:谢希仁,使用高速缓存的情况,校园网,校园网的高速缓存,(代理服务器),源点服务器,2 Mb/s,因特网,浏览器,R,1,R,2,(2),若高速缓存已经存放了所请求的对象,则将此对象放入,HTTP,响应报文中返回给浏览器。,课件制作人:谢希仁,使用高速缓存的情况,校园网,校园网的高速缓存,(代理服务器),源点服务器,2 Mb/s,因特网,浏览器,R,1,R,2,(3),否则,高速缓存就代表发出请求的用户浏览器,与因特网上的源点服务器建立,TCP,连接,并发送,HTTP,请求报文。,课件制作人:谢希仁,使用高速缓存的情况,校园网,校园网的高速缓存,(代理服务器),源点服务器,2 Mb/s,因特网,浏览器,R,1,R,2,(4),源点服务器将所请求的对象放在,HTTP,响应报文中返回给校园网的高速缓存。,课件制作人:谢希仁,使用高速缓存的情况,校园网,校园网的高速缓存,(代理服务器),源点服务器,2 Mb/s,因特网,浏览器,R,1,R,2,(5),高速缓存收到此对象后,先复制在其本地存储器中(为今后使用),然后再将该对象放在,HTTP,响应报文中,通过已建立的,TCP,连接,返回给请求该对象的浏览器。,课件制作人:谢希仁,3.HTTP,的报文结构,HTTP,有两类报文:,请求报文,从客户向服务器发送请求报文。,响应报文,从服务器到客户的回答。,由于,HTTP,是面向正文的,(text-oriented),,因此在报文中的每一个字段都是一些,ASCII,码串,因而每个字段的长度都是不确定的。,课件制作人:谢希仁,HTTP,的报文结构(请求报文),方 法,URL,版 本,首部字段名,首部行,:,值,首部字段名,值,:,实体主体,(通常不用),请求行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,报文由三个部分组成,即,开始行,、,首部行,和,实体主体,。,在请求报文中,开始行就是请求行。,开始行,课件制作人:谢希仁,HTTP,的报文结构(请求报文),方 法,URL,版 本,首部字段名,首部行,:,值,首部字段名,值,:,实体主体,(通常不用),请求行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,“,方法,”是面向对象技术中使用的专门名词。所谓“方法”就是,对所请求的对象进行的操作,,因此这些方法实际上也就是一些,命令,。因此,请求报文的类型是由它所采用的方法决定的。,课件制作人:谢希仁,HTTP,请求报文的一些方法,方法(操作)意义,OPTION,请求一些选项的信息,GET,请求读取由,URL,所标志的信息,HEAD,请求读取由,URL,所标志的信息的首部,POST,给服务器添加信息(例如,注释),PUT,在指明的,URL,下存储一个文档,DELETE,删除指明的,URL,所标志的资源,TRACE,用来进行环回测试的请求报文,CONNECT,用于代理服务器,课件制作人:谢希仁,HTTP,的报文结构(请求报文),方 法,URL,版 本,首部字段名,首部行,:,值,首部字段名,值,:,实体主体,(通常不用),请求行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,“,URL,”,是所请求的资源的,URL,。,课件制作人:谢希仁,HTTP,的报文结构(请求报文),方 法,URL,版 本,首部字段名,首部行,:,值,首部字段名,值,:,实体主体,(通常不用),请求行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,“,版本,”是,HTTP,的版本,。,课件制作人:谢希仁,HTTP,的报文结构(响应报文),版 本,状态码,短 语,首部字段名,首部行,:,值,首部字段名,值,:,实体主体,(有些响应报文不用),状态行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,响应报文的开始行是,状态行,。,状态行包括三项内容,即,HTTP,的版本,,,状态码,,以及解释状态码的,简单短语,。,开始行,课件制作人:谢希仁,状态码都是三位数字,1xx,表示通知信息的,如请求收到了或正在进行处理。,2xx,表示成功,如接受或知道了。,3xx,表示重定向,表示要完成请求还必须采取进一步的行动。,4xx,表示客户的差错,如请求中有错误的语法或不能完成。,5xx,表示服务器的差错,如服务器失效无法完成请求。,课件制作人:谢希仁,4.,在服务器上存放用户的信息,万维网站点使用,Cookie,来跟踪用户。,Cookie,表示在,HTTP,服务器和客户之间传递的状态信息。,使用,Cookie,的网站服务器为用户产生一个唯一的识别码。利用此识别码,网站就能够跟踪该用户在该网站的活动。,课件制作人:谢希仁,6.4.4,万维网的文档,1.,超文本标记语言,HTML,超文本标记语言,HTML,中的,Markup,的意思就是“设置标记”。,HTML,定义了许多用于排版的命令(即标签)。,HTML,把各种标签嵌入到万维网的页面中。这样就构成了所谓的,HTML,文档。,HTML,文档是一种可以用任何文本编辑器创建的,ASCII,码文件。,课件制作人:谢希仁,HTML,文档,仅当,HTML,文档是以,.html,或,.,htm,为后缀时,浏览器才对此 文档的各种标签进行解释。,如,HTML,文档改换以,.txt,为其后缀,则,HTML,解释程序就不对标签进行解释,而浏览器只能看见原来的文本文件。,当浏览器从服务器读取,HTML,文档后,就按照,HTML,文档中的各种标签,根据浏览器所使用的显示器的尺寸和分辨率大小,重新进行排版并恢复出所读取的页面。,课件制作人:谢希仁,HTML,文档中标签的用法,一个,HTML,的例子,HTML,很容易掌握,这是第一个段落。虽然很,短,但它仍是一个段落。,这是第二个段落。,HTML,文档开始,课件制作人:谢希仁,HTML,文档中标签的用法,一个,HTML,的例子,HTML,很容易掌握,这是第一个段落。虽然很,短,但它仍是一个段落。,这是第二个段落。,首部开始,课件制作人:谢希仁,HTML,文档中标签的用法,一个,HTML,的例子,HTML,很容易掌握,这是第一个段落。虽然很,短,但它仍是一个段落。,这是第二个段落。,标题,课件制作人:谢希仁,HTML,文档中标签的用法,一个,HTML,的例子,HTML,很容易掌握,这是第一个段落。虽然很,短,但它仍是一个段落。,这是第二个段落。,首部结束,课件制作人:谢希仁,HTML,文档中标签的用法,一个,HTML,的例子,HTML,很容易掌握,这是第一个段落。虽然很,短,但它仍是一个段落。,这是第二个段落。,主体开始,课件制作人:谢希仁,HTML,文档中标签的用法,一个,HTML,的例子,HTML,很容易掌握,这是第一个段落。虽然很,短,但它仍是一个段落。,这是第二个段落。,1,级标题,课件制作人:谢希仁,一个,HTML,的例子,HTML,很容易掌握,这是第一个段落。虽然很,短,但它仍是一个段落。,这是第二个段落。,HTML,文档中标签的用法,第一个段落,课件制作人:谢希仁,一个,HTML,的例子,HTML,很容易掌握,这是第一个段落。虽然很,短,但它仍是一个段落。,这是第二个段落。,HTML,文档中标签的用法,第二个段落,课件制作人:谢希仁,HTML,文档中标签的用法,一个,HTML,的例子,HTML,很容易掌握,这是第一个段落。虽然很,短,但它仍是一个段落。,这是第二个段落。,主体结束,课件制作人:谢希仁,HTML,文档中标签的用法,一个,HTML,的例子,HTML,很容易掌握,这是第一个段落。虽然很,短,但它仍是一个段落。,这是第二个段落。,HTML,文档结束,课件制作人:谢希仁,两种不同的链接,远程链接:超链的终点是其他网点上的页面。,本地链接:超链指向本计算机中的某个文件。,课件制作人:谢希仁,2.,动态万维网文档,静态文档,是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。,动态文档,是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。,动态文档和静态文档之间的主要差别体现在,服务器,一端。这主要是文档内容的生成方法不同。而从浏览器的角度看,这两种文档并没有区别。,课件制作人:谢希仁,万维网服务器功能的扩充,(1),应增加另一个应用程序,用来处理浏览器发来的数据,并创建动态文档。,(2),应增加一个机制,用来使万维网服务器把浏览器发来的数据传送给这个应用程序,然后万维网服务器能够解释这个应用程序的输出,并向浏览器返回,HTML,文档。,课件制作人:谢希仁,CGI,响应动态文档,HTTP,响应报文,扩充了功能的万维网服务器,万维网服务器,浏览器,程序,万维网客户,服务器,程序,HTTP,数据库,HTTP,请求报文,请求文档,CGI,程序创建,动态文档,课件制作人:谢希仁,通用网关接口,CGI,(Common Gateway Interface),CGI,是一种标准,它定义了动态文档应如何创建,输入数据应如何提供给应用程序,以及输出结果应如何使用。,万维网服务器与,CGI,的通信遵循,CGI,标准。,“,通用,”:,CGI,标准所定义的规则对其他任何语言都是通用的。,“,网关,”:,CGI,程序的作用像网关。,“,接口,”:有一些已定义好的变量和调用等可供其他,CGI,程序使用。,课件制作人:谢希仁,CGI,程序,CGI,程序的正式名字是,CGI,脚本,(script),。,“,脚本,”指的是一个程序,它被另一个程序(解释程序)而不是计算机的处理机来解释或执行。,脚本运行起来要比一般的编译程序要慢,因为它的每一条指令先要被另一个程序来处理(这就要一些附加的指令),而不是直接被指令处理器来处理。,课件制作人:谢希仁,3.,活动万维网文档,活动文档,(active document),技术把所有的工作都转移给浏览器端。,每当浏览器请求一个活动文档
展开阅读全文