




已阅读5页,还剩73页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十讲典型的应用层协议,应用层,应用层是TCP/IP协议组的顶层。在应用层中,你可以看到通过TCP和UDP端口与较低层进行通信的网络应用程序和服务程序。TCP/IP的应用层确实是一种能感知网络状况的软件组件,负责向TCP和UDP端口发送信息和接收来自TCP和UDP端口的信息。这些应用层组件并不真是并行的,而只是逻辑上相似或等同。,介绍几种典型的应用层协议,FTP协议电子邮件协议HTTP协议,FTP协议,FTP是Internet传统的服务之一,其功能主要是在主机间高速、可靠地传输文件FTP是用于实现文件传输服务的最主要的规范,除了最主要的传输功能以外,FTP还提供了以下功能:交互方式:命令行方式或图形用户界面数据表示:允许客户端程序指定传输数据的类型及格式身份验证:用户访问FTP服务器需要提供经过授权的用户名与密码,以保证数据安全,特殊的匿名访问方式则取消了这种限制,FTP的工作原理,FTP使用客户端服务器模式,用户执行FTP程序,客户端程序先与远程服务器建立连接,用户登录到远程服务器后,向远程服务器发出传输命令,服务器在收到命令后就给予响应,并执行正确的命令FTP会建立两种类型的连接:控制连接与数据连接。控制连接传送客户端发出的命令和服务器返回的响应信息,数据连接则负责传输文件的内容,FTP的工作原理,FTP模型示意图,协议解析器:ProtocolInterpreter,PI数据传输进程:DataTransferProcess,DTP,负责建立并管理数据连接,FTP连接过程,用户PI初始化控制连接,在开始阶段,用户PI将用户下达的命令转化为标准的FTP命令,并通过控制连接发送至服务器进程。服务器PI收到FTP命令后,通过控制连接把标准应答信息返回给用户PI。FTP命令指定了数据连接的参数(如端口、传输模式、数据表示类型、文件结构等),以及对文件系统的操作(检索ls、下载get、上传put、删除delete等)。用户DTP在特定的端口侦听,服务器初始化数据连接并以指定的参数开始数据传输。数据传输是全双工连接,而且可以根据需要动态创建,当要传输数据时才建一条数据连接,数据传输完毕则关闭数据连接控制连接一直存在,断开则意味着FTP会话结束,FTP的数据表示,数据表示包括数据类型和文件结构两个方面数据类型ASCII类型,默认的数据类型,用于传输文本文件EBCDIC类型(扩充的二进制编码的十进制交换码),类似ASCII的规范,主要在IBM计算机上使用IMAGE类型(二进制文件类型)LOCAL类型(指本地文件)数据结构文件结构,认为文件由连续的字节流组成,是默认选择结构记录结构,认为文件由一系列记录组成页结构,认为文件由一组独立的带编号的页组成,FTP的传输模式,FTP协议规范中规定了三种传输模式STREAM模式(流模式),默认模式,文件以字节流的形式传输BLOCK模式(块模式),文件以一系列数据块的方式传输,每个块都带有一个或多个报头,报头包括1字节的描述符与2字节的计数字段COMPRESSED模式(压缩模式),采用一种简单的全长编码压缩算法,压缩连续出现的字节,在文本文件中常用来压缩空白串,在二进制文件中常用来压缩值为0的字节,FTP命令,FTP协议规范中定义了许多FTP命令,用于登录FTP服务器、设置传输参数、浏览服务上的文件与目录列表、获取服务器上的文件、存储文件到服务器上,并管理服务器与客户端之间文件的传输过程。这里所说的FTP命令,指的是FTP协议中定义的标准FTP命令,要特别注意不能与FTP程序所提供给的用户使用的操作命令混为一谈。,Windows下ftp工具提供给用户使用的命令,UNIX下ftp工具提供给用户使用的命令,FTP命令,FTP协议中将标准FTP命令分为三类:存取控制命令传输参数命令FTP服务命令,FTP命令,存取控制命令主要提供了用户身份验证功能和目录切换功能,常用FTP命令(1)存取控制命令,FTP命令,传输参数命令传输参数设置后一直有效,除非用新的命令改变传输参数,或者新建立了数据连接,常用FTP命令(2)传输参数命令,FTP命令,FTP服务命令定义了一系列文件传输及文件系统操作相关的命令,这些命令的参数通常是pathname(路径名),路径名的书写必须符合服务器端的规范,常用FTP命令(3)FTP服务命令,FTP应答,服务器接收客户端命令并处理之后,会返回给客户端相应的命令响应信息,这种返回响应的方式称作FTP应答FTP应答保证了文件传输过程中请求与行为的同步,并使得用户进程总是能了解服务器的状态每条FTP命令可以产生一条或多条响应,但多数情况下,每条命令只返回一条响应,FTP应答,FTP响应与FTP命令一样,都是在客户端与服务器之间的控制连接上以NVTASCII码形式传送,并在每行末尾以CR-LF标志行结束FTP响应由一个3位的数字代码(应答码),一个字符串形式的表示命令执行成功与否的文本,以及命令执行成功后的输出组成。FTP响应的格式:为3位数字的应答码表示空格是一行提供给用户阅读的文本信息是行结束符,FTP应答,FTP应答码中第1位和第2位的含义,FTP连接管理,进行通信时,FTP需要建立两个TCP连接控制连接(端口号默认值为21):用于发送指指令给服务器及接收服务器响应数据连接(端口号默认值为20,仅PORT模式):数据传输的通道FTP协议中规定了两种连接模式PORT(主动模式)PASV(被动模式),PORT模式,数据连接由服务器初始化完成客户端选择一个大于1024的端口连接服务器的21端口需传输数据时,客户端会送出PORT命令告诉服务器连接到自己的某一端口来建立数据连接,同时侦听该端口服务器收到PORT命令时,会使用20端口连接客户端在PORT命令中指定的端口号,然后传输数据,使用PORT模式的FTP连接示意图,PASV模式,数据连接由客户端初始化客户端选择一个大于1024的端口连接服务器的21端口需传输数据时,客户端向服务器发送PASV命令,通知服务器自己希望连接到服务器的某一个端口如果服务器上这个端口是空闲可用的,则服务器返回ACK作为确认信息,然后返回用户所需的信息;若端口已被占用,服务器会返回UNACK的信息,FTP客户端会再次发送PASV命令重复上述过程,使用PASV模式的FTP连接示意图,FTP小结,FTP是实现文件传输的最基本的应用层协议FTP使用户能在两个联网的计算机之间传输文件,是互联网上文件传输的主要方式FTP提供身份验证服务,用户需要提供有效的用户名与密码,匿名FTP取消了这种限制,允许所有用户访问,电子邮件(E-mail),电子邮件是一种用电子手段提供信息交换的现代邮政通信方式,电子邮件让人们能方便快捷地传递信息,让世界各地的人们之间能够轻松地交流电子邮件与传统的信件通信方式相比有着巨大的优势:传递迅速:在数分钟之内可到达地球上任何一个地方信息多样:除文字外,还可包含图片、音乐、动画、视频等多媒体信息,也可以附带上软件、数据等资料方便高效:只要能连接到Internet,就可以随时随地地收发E-mail,而且只需极少的费用,电子邮件系统,电子邮件与之前介绍的FTP服务不同,它不是一种“终端到终端”的服务,而是使用了“存储转发式”的服务,这是一种异步通信方式通过存储转发可以进行非实时通信,即信件发送者可随时随地发送邮件,不需要接收者同时在场邮件服务器是24小时连接到网络的高性能、大容量的计算机,在服务器的硬盘上为用户分配一定的存储空间,作为用户的“邮箱”用户可通过用户名和密码来登录“邮箱”,并进行发信、收信、编辑、转发、存档等各种操作,ISO/OSI电子邮件系统MOTIS,MOTIS电子邮件系统分为两部分用户代理UA:为用户提供良好的操作界面,并负责生成与处理消息信息传输代理MTA:主要负责消息传输,即所谓的“电子邮局”在电子邮件系统的具体实现中,UA一般位于个人计算机内,而MTA一般位于邮件服务器中MOTIS的电子邮件传输是存储转发型的,其中的MTA扮演网关的角色,邮件经逐个MTA传输直至信宿用户所在的MTA,MOTIS电子邮件系统的模型,TCP/IP电子邮件系统,TCP/IP电子邮件系统在概念上也分为用户界面和邮件传输两部分,但邮件传输部分并未独立出来,形成一个类似MOTIS中MTA的组件,这是因为TCP/IP自始至终坚持端到端的思想,TCP/IP电子邮件系统也采用端到端的传输方式TCP/IP中采用spooling(假脱机)缓冲技术来解决延迟传递(delayeddelivery)问题,将用户收发邮件与实际的邮件传输区别开来,TCP/IP电子邮件系统,采用spooling技术的电子邮件系统,电子邮件协议,收发电子邮件在的过程中,要遵循一些基本协议和标准,这些协议和标准保证电子邮件在各种不同的网络与操作系统之间能够正确地进行传输常见的电子邮件传输协议主要有以下三种:SMTP(简单邮件传输协议):最常用的电子邮件传送协议POP3(邮局协议):最常用的电子邮件接收协议IMAP4(网络邮件访问协议):POP3的一种替代协议,提供了邮件检索和邮件处理的新功能目前,大多数邮件服务器都安装了SMTP和POP3这两项协议,即SMTP服务器作为邮件发送服务器,POP3服务器作为邮件接收服务器,电子邮件地址的格式,电子邮件地址的一般格式如下:usernamedomain-namedomain-name是电子邮件服务器的域名username是在该服务器上注册的用户名,也即用户电子邮箱名称用户名与域名之间用符号“”分隔开书写E-mail地址时要注意,地址中不能包含空格,无论是用户名、域名还是的两侧都不能包含空格,SMTP协议,SMTP协议的作用是:当发送方计算机与支持SMTP协议的电子邮件服务器连接时,将电子邮件由发送方计算机准确无误地传送到接收方的电子邮箱中SMTP的一个重要特点是它能够在传送中接力传送邮件,即邮件可以通过不同网络上的主机接力式传送SMTP一个相对简单的基于文本的协议。通过SMTP发送的所有电子邮件都是普通文本格式的,它不能直接传输图像、声音等非文本信息,但可以应用MIME标准将二进制文件编码后再通过SMTP传输,SMTP的工作原理,SMTP通信模型示意图,发送SMTP在接到用户的邮件请求后,判断此邮件是否为本地邮件,若是则直接投送到用户的邮箱,否则建立一条到远程接收SMTP的双向传输通道,这里的接收SMTP可以是最终接收者,也可以是中间传送者。此后,SMTP命令从发送SMTP发出,由接收SMTP接收,而SMTP应答则反方向传送。SMTP命令、响应以及邮件内容均使用NVTASCII格式的文本,收发双方的交互过程,SMTP连接与发送,SMTP是一种请求响应协议,客户端发送命令,服务器返回响应,两者通过这种方式进行交互,以完成邮件传输过程的三个阶段:建立连接、传输数据和终止连接。客户端主动连接到服务器的25端口,建立TCP连接。服务器会发送一个应答码为220的问候报文,表示已经准备就绪。客户端向服务器发送HELO命令,用以标识发送方的身份,HELO命令的参数必须是一个合法的主机名。如果服务器接受了连接请求,会给客户端返回一个代码为250的应答,表示可以开始报文传输。客户端发送MAIL命令标识邮件的发送方,通过FROM参数指定发送方的电子邮件地址。如果服务器准备接收邮件,则返回代码为250的OK应答。客户端发送RCPT命令标识邮件的接收方,通过TO参数指定接收方的电子邮件地址,如果有多个接收人,可以发送多个RCPT命令。如果服务器能够识别接收人,则会返回代码为250的OK应答,否则返回代码为550的失败应答。客户端与服务器之间的协商结束,客户端发送DATA命令指示将要发送邮件数据,服务器端返回应答码为354的响应进行确认,表示可以开始邮件输入。客户端将邮件内容按行发送,邮件的末尾由客户端指定,是只有一个小数点(邮件数据结束指示器)的一行,服务器检测到邮件数据结束指示器后,返回代码为250的OK应答。客户端发送QUIT命令终止连接。,SMTP命令,SMTP命令和FTP命令一样,都是使用NVTASCII格式的文本,以明文传输的。SMTP简捷的原因之一是它使用的命令少,SMTP的最小实现仅需要8种命令就够了,常用SMTP命令一览表,SMTP响应,每一条SMTP命令都会返回一条SMTP响应,SMTP响应与FTP响应很相似,包含一个3位数字的应答码,后面跟着的是描述文本,SMTP应答码,电子邮件的结构,电子邮件的主要结构:邮件头(Header)用于分隔邮件头与邮件正文的空行邮件正文(Body)签名(Signature)(位于邮件末尾的可选部分),电子邮件的结构,邮件头的每一行都遵循“标题域:值”的格式,Received:(unknown)bybjmx3(Coremail)withSMTPidtYECALSfOkFDAEAD.1for;Sun,05Sep200413:10:25+0800(CST)X-Originating-IP:Received:fromRsProxy(20)(8.11.5/8.11.5)withSMTPidi855ABU27225for;Sun,5Sep200413:10:12+0800(CST)Message-ID:From:jimmyTo:Subject:=?gb2312?B?z/vPog=?=Date:Sun,5Sep200413:09:27+0800MIME-Version:1.0Content-Type:multipart/alternative;boundary=-=_NextPart_000_0005_01C49349.92912D20X-Priority:3X-MSMail-Priority:NormalX-Mailer:MicrosoftOutlookExpress6.00.2800.1106X-MimeOLE:ProducedByMicrosoftMimeOLEV5.50.4522.1200,邮件头示例,电子邮件的结构,邮件中常见的标题域:Received域:邮件每经过一台主机时,就产生一个Received域,用来记录所经过主机的地址和经过时间,回复的信件可以按原路返回,而不必去选择路由。此域常拆为多行显示。Date域:记录邮件发送日期(本地主机的日期和时间)。Message-ID域:邮件惟一的标识号。From域:发信人邮件地址。To域:收信人邮件地址。Cc域:抄送邮件地址,需要将邮件发送给多个收信人时使用。Reply-to域:回复邮件地址,当发信人有几个邮件账号,且要求对方回复的地址不是发信地址时使用。Subject域:邮件主题。以“X-”开始的域:这些域是在基本邮件系统的基础上添加的属性,只有在发送和目的双方邮件服务器都支持这些属性的情况下,使用这些属性才有意义。,POP,POP是一种邮件接收协议,其作用是:当用户计算机与支持POP协议的电子邮件服务器连接时,把存储在该服务器的电子邮箱中的邮件准确无误地下载到用户的计算机中POP3属于离线式协议,即不能对邮件进行在线操作,必须下载到本地才能进行处理。离线工作方式适合于那些从固定计算机上接收邮件的用户使用,因为邮件必须从服务器上删除。POP协议已发展到第三版,称作POP3,POP,POP3与SMTP一样都是请求响应协议,命令与响应也都是用NVTASCII格式的文本表示POP3响应由一个状态码和其后的附加信息组成,只有两种状态码:“+OK”(正确)和“-ERR”(失败),常用POP3命令,POP,在POP3中,客户端与服务器连接时有三种处理状态:身份验证状态事务处理状态更新状态当客户端连接到服务器的110端口,并建立起TCP连接后,即进入身份验证状态,需要使用USER和PASS命令将用户名和密码提供给服务器。通过身份验证之后,即转入事务处理状态,这时客户端可以发送POP3命令进行相应操作,服务器会接收命令并做出响应。操作完成之后,客户端发出QUIT命令,则进入更新状态,服务器确认用户的操作,更新邮件存储区,同时关闭客户端与服务器之间的连接。,IMAP,IMAP是一个更加全面的邮件访问协议,提供了比POP3更多的功能IMAP允许用户像在本地计算机上一样管理服务器上的电子邮件,允许用户有选择地从邮件服务器下载邮件,并提供了共享邮箱的功能IMAP目前的最高版本为IMAP4,使用的TCP端口是143,IMAP,IMAP4提供了三种邮件访问模式:离线模式(OfflineMode)在线模式(OnlineMode)断线模式(DisconnectedMode)IMAP4提供了相当强大的功能,非常适合于需要工作在多个不同计算机上的移动用户,或需要访问和维护多个不同邮箱的用户使用由于IMAP4比较复杂,给开发者开发客户端和服务器的软件带来一些难题,因而目前商用的实现方案还不多,要像POP3那样得到广泛应用还需要一段时间,MIME,通过SMTP发送的所有电子邮件都是普通文本格式的,它不能直接传输图像、声音等非文本信息MIME扩展了基本的面向文本的Internet邮件系统,在不改动现有邮件协议的情况下,实现了用标准的文本格式邮件传输非文本(二进制)数据的功能MIME的原理是将二进制数据转化为文本格式,然后再进行传输,MIME标题域,有关MIME的信息被包含在电子邮件的邮件头中,遵循“标题域:值”的格式邮件头中包含的MIME信息通常包括:MIME-Version域:说明所使用MIME的版本Content-Type域:说明传输内容的类型Content-Type域:说明所传输内容的编码方案,其取值包括内容类型与子类型,两者之间用符号“/”分隔开Content-Transfer-Encoding域:说明传输内容的编码方案(常用QP编码和BASE64编码),MIME内容类型和子类型,MIME多部分消息,多部分消息(MultipartMessages)的概念是MIME邮件的精髓,允许在一封邮件中发送多条项目多部分消息是在Content-Type域中定义的一种标准内容类型(multipart),它有四种子类型如果在邮件中要添加附件,必须在邮件头中定义multipart/mixed段,MIME多部分消息,为了发送多条项目,邮件正文被分为多个段,每个段又包含段头和段体两部分,两者之间以空行分隔,段与段之间也以空行分隔multipart各子类型的共同特征是:在段头中指定“boundary”参数字符串(如),段体内的每个子段以此串定界所有的子段都以“-”行开始,父段则以“-”行结束,小结,SMTP是互联网上用于发送电子邮件的应用层协议,向用户提供高效、可靠的邮件传输服务通过SMTP传递的所有电子邮件都是普通文本格式的POP3是目前应用最广的邮件接收协议,它是一种离线式工作协议,允许用户从邮件服务器将邮件下载到本地,同时将邮件从服务器上删除IMAP4,提供了更加全面的功能,允许用户像管理本地文件一样自由地组织自己的邮箱,提供邮件摘要功能使用户可有选择地下载邮件,还提供了邮箱共享的功能IMAP4能在三种模式下工作:离线模式、在线模式和断线模式MIME是一种邮件扩展协议,通过对二进制文件进行编码,实现了以普通文本格式邮件传输任意数据的功能,超文本传输协议HTTP,超文本传输协议(HTTP,HypertextTransferProtocol)是在Internet上传送文件的一组规则。HTTP传输的文件将在浏览器显示。HTTP应用程序在Web服务器上运行,收听请求,然后响应请求,向请求方发回文件。Web服务器是个运行HTTP服务器应用程序的服务器。HTTP在一个TCP端口收听,通常在端口80收听请求,然后,将被请求的文件传送给请求方。请求方主机使用Web浏览器应用程序显示文件。,HTTP协议的几个重要概念,连接(Connection):一个传输层的实际环流,它是建立在两个相互通讯的应用程序之间。消息(Message):HTTP通讯的基本单位,包括一个结构化的八元组序列并通过连接传输。请求(Request):一个从客户端到服务器的请求信息包括应用于资源的方法、资源的标识符和协议的版本号响应(Response):一个从服务器返回的信息包括HTTP协议的版本号、请求的状态(例如“成功”或“没找到”)和文档的MIME类型。资源(Resource):由URI标识的网络数据对象或服务。,HTTP协议的几个重要概念,实体(Entity):数据资源或来自服务资源的回映的一种特殊表示方法,它可能被包围在一个请求或响应信息中。一个实体包括实体头信息和实体的本身内容。客户机(Client):一个为发送请求目的而建立连接的应用程序。用户代理(Useragent):初始化一个请求的客户机。它们是浏览器、编辑器或其它用户工具。服务器(Server):一个接受连接并对请求返回信息的应用程序。源服务器(Originserver):是一个给定资源可以在其上驻留或被创建的服务器。,HTTP协议的几个重要概念,代理(Proxy):一个中间程序,它可以充当一个服务器,也可以充当一个客户机,为其它客户机建立请求。请求是通过可能的翻译在内部或经过传递到其它的服务器中。一个代理在发送请求信息之前,必须解释并且如果可能重写它。代理经常作为通过防火墙的客户机端的门户,代理还可以作为一个帮助应用来通过协议处理没有被用户代理完成的请求。网关(Gateway):一个作为其它服务器中间媒介的服务器。与代理不同的是,网关接受请求就好象对被请求的资源来说它就是源服务器;发出请求的客户机并没有意识到它在同网关打交道。网关经常作为通过防火墙的服务器端的门户,网关还可以作为一个协议翻译器以便存取那些存储在非HTTP系统中的资源。通道(Tunnel):是作为两个连接中继的中介程序。一旦激活,通道便被认为不属于HTTP通讯,尽管通道可能是被一个HTTP请求初始化的。当被中继的连接两端关闭时,通道便消失。当一个门户(Portal)必须存在或中介(Intermediary)不能解释中继的通讯时通道被经常使用。缓存(Cache):反应信息的局域存储。,HTTP协议的运作方式,1.宏观运作方式HTTP协议是基于请求响应模式的。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为,统一资源标识符、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。,建立HTTP连接,HTTP协议的内部操作过程,基于HTTP协议的客户/服务器模式的信息交换过程,如下图所示,它分四个过程,建立连接、发送请求信息、发送响应信息、关闭连接。,信息交换的实现步骤,建立连接。连接的建立是通过申请套接字(Socket)实现的。客户打开一个套接字并把它约束在一个端口上,如果成功,就相当于建立了一个虚拟文件。以后就可以在该虚拟文件上写数据并通过网络向外传送。发送请求。打开一个连接后,客户机把请求消息送到服务器的停留端口上,完成提出请求动作。发送响应。服务器在处理完客户的请求之后,要向客户机发送响应消息。关闭连接。客户和服务器双方都可以通过关闭套接字来结束TCP/IP对话。,HTTP/1.0请求消息的格式,请求消息=请求行(通用信息|请求头|实体头)CRLF实体内容请求行=方法请求URLHTTP版本号CRLF方法=GET|HEAD|POST|扩展方法URL=协议名称+宿主名+目录与文件名,请求行中的方法,请求行中的方法描述指定资源中应该执行的动作,常用的方法有GET、HEAD和POST。不同的请求对象对应GET的结果是不同的,对应关系如下:对象GET的结果文件文件的内容程序该程序的执行结果数据库查询查询结果HEAD要求服务器查找某对象的元信息,而不是对象本身。POST从客户机向服务器传送数据,在要求服务器和CGI做进一步处理时会用到POST方法。,HTTP/1.0的响应消息格式,响应消息=状态行(通用信息头|响应头|实体头)CRLF实体内容状态行=HTTP版本号状态码原因叙述状态码表示响应类型1保留2表示请求成功地接收3为完成请求客户需进一步细化请求4客户错误5服务器错误响应头的信息包括:服务程序名,通知客户请求的URL需要认证,请求的资源何时能使用。,HTTP报文格式,HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。,请求报文格式和响应报文,字段说明,请求行域以方法字段开始,后面分别是URL字段和HTTP协议版本字段,并以CRLF结尾。SP是分隔符。除了在最后的CRLF序列中CF和LF是必需的之外,其他都可以不要。状态行域由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户机无需用来检查或显示语法。,通用信息头域包含请求和响应消息都支持的头域,通用头域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。下面简单介绍几个在UpnP(UniversalPlugandPlay,通用即插即用协议,有兴趣读者可自己查找资料理解之)消息中使用的通用头域。,Public指示响应可被任何缓存区缓存。Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。no-cache指示请求或响应消息不能缓存no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。,Date头域Date头域表示消息发送的时间,时间的描述格式由rfc822定义。例如,Date:Mon,31Dec200104:25:57GMT。Date描述的时间表示世界标准时,换算成本地时间,需要知道用户所在的时区。Pragma头域Pragma头域用来包含实现特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1协议中,它的含义和Cache-Control:no-cache相同。,请求头域允许客户端向服务器传递关于请求或者关于客户机的附加信息。请求头域可能包含下列字段Accept、Accept-Charset、Accept-Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If-Match、If-None-Match、If-Range、If-Range、If-Unmodified-Since、Max-Forwards、Proxy-Authorization、Range、Referer、User-Agent。对请求头域的扩展要求通讯双方都支持,如果存在不支持的请求头域,一般将会作为实体头域处理。,响应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述服务器的信息和Request-URI进一步的信息。响应头域包含Age、Location、Proxy-Authenticate、Public、Retry-After、Server、Vary、Warning、WWW-Authenticate。对响应头域的扩展要求通讯双方都支持,如果存在不支持的响应头域,一般将会作为实体头域处理。,实体。请求消息和响应消息都可以包含实体信息,实体信息一般由实体头域和实体组成。实体头域包含关于实体的原信息,实体头包括Allow、Content-Base、Content-Encoding、Content-Language、Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type、Etag、Expires、Last-Modified、extension-header。extension-header允许客户端定义新的实体头,但是这些域可能无法未接受方识别。实体可以是一个经过编码的字节流,它的编码方式由Content-Encoding或Content-Type定义,它的长度由Content-Length或Content-Range定义。,Content-Type实体头Content-Type实体头用于向接收方指示实体的介质类型,指定HEAD方法送到接收方的实体介质类型,或GET方法发送的请求介质类型Content-Range实体头。Content-Range实体头用于指定整个实体中的一部分的插入位置,他也指示了整个实体的长度。在服务器向客户返回一个部分响应,它必须描述响应覆盖的范围和整个实体长度。一般格式:Content-Range:bytes-unitSPfirst-byte-pos-last-byte-pos/entity-legth例如,传送头500个字节次字段的形式:Content-Range:bytes0-499/1234如果一个http消息包含此节(例如,对范围请求的响应或对一系列范围的重叠请求),Content-Range表示传送的范围,Content-Length表示实际传送的字节数。Last-modified实体头Last-modified实体头指定服务器上保存内容的最后修订时间。,报文消息示例,请求消息的第一行为下面的格式:MethodSPRequest-URISPHTTP-VersionCRLFMethod表示对于Request-URI完成的方法,这个字段是大小写敏感的,包括OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE。SP表示空格。Request-URI遵循URI格式,在此字段为星号(*)时,说明请求并不用于某个特定的资源地址,而是用于服务器本身。HTTP-Version表示支持的HTTP版本例如为HTTP/1.1。CRLF表示换行回车符。请求头域允许客户端向服务器传递关于请求或者关于客户机的附加信息。,典型的请求消息,GEThttp:/download.microtool.de:80/somedata.exeHost:download.microtool.deAccept:*/*Pragma:no-cacheC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全球卫星导航系统说课稿-2025-2026学年中职专业课-电子商务物流-电子商务-财经商贸大类
- 2025-2030双语教育对幼儿大脑结构的重塑作用研究
- 2025-2030即烹型辣椒调料包产品设计规范
- 2025-2030南美锂矿资源开发格局演变与中国企业出海战略报告
- 2025-2030医疗行业跨境合作模式与国际化发展战略研究
- 2025-2030医疗人工智能在病理诊断中的精准度提升报告
- 2025-2030医用高分子材料创新应用与市场前景预测报告
- 2025-2030医用吸附材料检测技术及环保应用前景预测
- Unit 2 Learning English is fun Lesson 2 说课稿2024-2025学年冀教版(2024)七年级英语上册
- 5.3 抛物线的标准方程和性质说课稿-2025-2026学年中职基础课-拓展模块一-语文版(2021)-(数学)-51
- 2025年全国职业病诊断医师培训职业性放射性疾病复习题库及答案
- 垃圾知识分类培训课件
- 2025年及未来5年中国烘焙花生行业市场调研分析及投资战略咨询报告
- 船舶现场应急预案
- 2025年森林防火考试题目及答案
- 正大杯第十二届全国大学生市场调研与分析大赛题库和答案
- 2025-2026学年北师大版二年级上册第二单元《测量(一)》测试卷 及答案(三套)
- 2025至2030中国医用雾化器行业市场发展分析及竞争格局与风险对策报告
- 统编版2025-2026学年语文六年级上册期中阶段培优情境卷试题(有答案)
- 北京市大兴区2024-2025学年高二上学期期中检测数学试题(解析版)
- 汇川PLC培训课件
评论
0/150
提交评论