协议分析 第6章

上传人:fgh****35 文档编号:251630809 上传时间:2024-11-09 格式:PPT 页数:39 大小:457.50KB
返回 下载 相关 举报
协议分析 第6章_第1页
第1页 / 共39页
协议分析 第6章_第2页
第2页 / 共39页
协议分析 第6章_第3页
第3页 / 共39页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,计算机网络协议分析与测试,第六章,HTTP,协议,本,章,主要内容,6.1,统一资源定位符,6.2,超文本传输协议,6.3,HTTP,请求报文,6.4,HTTP,响应报文,超文本传输协议,HTTP,(HyperText Transfer Protocol),主要用于从,WWW,服务器传输超文本到本地浏览器,。,HTTP,协议改变了传统的线性浏览方法,通过超文本环境实现文档间的快速,跳转,。实现,高效浏览,。,超文本传输协议,HTTP,是,应用层协议,。,常用的,HTTP,服务器,有三个:,共享软件,APACHE Web,服务器,网景公司的企业服务器,微软公司的,Internet,信息服务器(,IIS,),网景公司的企业服务器可在大多数平台上运行,。,微软公司的,IIS,仅在,Windows,平台上运行。,第一节,统一资源定位符,6.1,统一资源定位符,统一资源定位符,URL(Uniform Resource Locator),,,也称,Web,地址,俗称“网址”。,URL,的完整格式有以下基本部分,组成,:,协议,+“:/”+,主机域名,(IP,地址,)+“:”,端口号,+,目录路径,+,文件名,1,协议:指定服务连接而使用的所有访问协议,下表表示常用的协议类型。,协 议 名 称,功 能,http,超文本文件服务,ftp,文件传输服务,gopher,Gopher,服务,news,Usenet,新闻组服务,telnet,远程主机连接服务,wais,WAIS,服务器连接服务,2,主机域名,(IP,地址,),主机域名,(IP,地址,),指出,WWW,数据所在的服务器域名,例如,。,3,端口,(port),服务器提供端口号表示客户访问不同资源类型,例如常见的,WWW,服务器提供端口号为,80,或,8080,。在,URL,中,端口号可以省略,,省略时连同前面的“:”一起省略。,4,目录路径,(path),目录路径指明服务器上存放被请求信息的路径。,5,文件名(,file,),文件名是客户访问页面的名称。例如,index.htm,,,页面名称与设计时网页的源代码名称并不要求相同,由服务器完成两者之间的映射。,路径,表示资源在主机中的位置,路径描述采用的是,UNIX,下的路径格式。,端口和路径都是可以省略的,。,例子:,http:/,/,http:/, 可以通过,加密和鉴别,来实现,最通常的方法是使用,安全套接字层,(SSL),。,安全套接字层,SSL,工作在,TCP/IP,的传输层和应用层之间。在客户和服务器之间的所有传输都被,SSL,加密和解密。下图显示的是一个典型的,SSL,通信顺序。,SSL,通信,工作过程,如下:,1,),客户机发送安全,会话请求,消息,此消息,包括,SSL,版本、客户机支持的密码族和客户机支持的数据压缩方法等。,2,),服务器发送,响应,消息和服务器数字,证书,(含服务器的公钥),,响应消息包含,密码方法和由服务器选择的数据压缩方法,以及会话标识等。如果服务器需要对客户进行认证(可选),则向客户发出“,证书请求,”消息。消息中,包含,服务器支持的数字证书类型的列表和可接受的认证中心的专有名称。,3,)客户机(,Web,浏览器)将,验证,服务器数字证书的有效性并,检查,服务器的响应消息参数是否可以接受。如果服务器请求客户机的证书,客户机将发送数字,证书,;如果,没有,合适的数字证书可用,客户机将发送“没有证书”警告。如果客户机认证是,强制性,的,服务器将会使会话失败。,4,)客户机发送“,客户机密钥交换,”消息。此消息包含随机产生的会话密钥、报文鉴别码(,MAC,)密钥(用服务器的公钥加密的)以及用于加密和报文鉴别的密钥材料。,如果客户机发送数字证书给服务器,客户机将发出签有客户机的专用密钥的“,证书验证,”消息。通过验证此消息的签名,服务器可以显式,验证客户机数字证书的所有权,。,5,)服务器发送“已完成”消息响应,,SSL,握手结束。,随后的所有的数据将被加密和解密。,URL,中包含,HTTPS:/,。,3,HTTP,主要特点,1,),简单,HTTP,协议在客户与服务器连接后,要求客户必须传送的信息只是,请求方法和路径,。,HTTP,协议规范定义的,几种请求方法,,实际上常用的只是其中的,GET,、,HEAD,、,POST,三种。由于,HTTP,简单,使得,HTTP,服务器程序规模小且简单,,与其它协议相比,时间开销小,。,HTTP,协议的通信速度很快,可以有效地处理大量请求,得到了广泛的使用。,2,),无连接性,HTTP,是一个无连接性协议,(HTTP 1.0),,,每次连接只处理一个请求,,并且客户接到服务器,应答后立即断开连接,。,(HTTP1.1,提供对持续连接的支持,),3,),无状态性,HTTP,是无状态的协议。,HTTP,无状态性使客户与服务器连接通信运行,速度快,,服务器应答也快。但是,因为无状态性,协议对事务处理是,没有记忆,的和,独立,的。所以,为了满足后续事务处理需要前面事务的有关信息的情况,这些前面事务的有关信息必须在协议外面保存,这便导致每次连接要传送较多的信息。,4,),元信息,HTTP,协议对所有事务处理都加了首部,我们称之为元信息,即关于信息的信息。,HTTP,协议通信过程,1,、,URL,自动解析,2,、获取,IP,,建立,TCP,连接,3,、客户端浏览器向服务器发出,HTTP,请求,4,、,Web,服务器应答,并向浏览器发送数据,HTTP/1.1 200 OK,5,、,Web,服务器关闭,TCP,连接,第,三节,HTTP,请求报文,6.3 HTTP,请求报文,在,HTTP,报文中,大多数请求报文没有实体数据,请求报文的格式如图所示:,常用的,HTTP,请求的,方法,有,GET,、,HEAD,、,PUT,、,POST,、,DELETE,、,LINK,、,UNLINK,七种方法,其中,GET,、,HEAD,、,POST,方法被大多数服务器支持。,1)GET,方法,GET,方法的目的是取回由,URL,指定的资源。,若对象是,文件,,则,GET,取的是文件内容;,若对象是,程序或描述,,则,GET,取的是该程序执行的结果,或该描述的输出;,若对象是,数据库查询,,则,GET,取的是查询的结果。,GET,允许通过使用,IF,语句来增加附加的灵活性,即,条件,GET,。,当在,IF,语句中的,条件得到满足时,数据便被传输,。如果,Web,页在最近没有被更新,,HTTP,客户便可以使用,Web,页在缓冲区的拷贝。这样可以充分利用网络带宽。,2)HEAD,方法,HEAD,方法要求服务器,查找某对象的元信息,而不是对象本身,仅要求服务器返回关于文档的信息,而非文档本身。例如用户想知道对象的大小,对象的最后一次修改的时间等。,HEAD,方法和,GET,方法的工作非常类似,只是信息体不被返回到客户那里。,3)POST,方法,POST,方法,从客户向服务器传送数据,,用来请求,HTTP,服务器,将附带的数据当作,HTTP,服务器一个新的记录来接收,。这种方法可被用来将消息发给一个新闻组,或向,HTTP,服务器提交一个,HTML,表格,或者将一个记录附加到,HTTP,服务器上驻留的一个数据库上去。,4,),PUT,方法,PUT,方法是用来请求,将这个请求中所发送的数据储存到请求消息中表明的资源处,。如果数据已经存在,则此数据将被看成已存在数据的一个修改。,与,POST,方法的不同之处:,数据的目标位置可以规定好,。,5,),DELETE,方法,DELETE,方法是用来请求,HTTP,服务器删除在请求消息中表明的资源。这个方法可能被人工干预或,HTTP,服务器上的安全设置所超越。仅当服务器同意删除这个资源时,才会发送一个成功应答。,6,),TRACE,方法,TRACE,方法用来确保,HTTP,服务器所接收到的数据是正确的。,TRACE,的回答是实际的,HTTP,请求,允许对,HTTP,请求进行测试和调试。,7,),CONNECT,方法,CONNECT,方法被保留为安全接口层,SSL,隧道所用。,第,四节,HTTP,响应报文,6.4 HTTP,响应报文,HTTP,响应报文一般都带有实体数据,响应报文的格式如图所示。,1.,状态行,(status-line),响应信息中的状态行由协议,版本号,、数字式的,状态码,(status-code),以及这个状态码对应的,状态短语,(Reason-Phase),组成。响应信息中,状态行以后的内容均使用,MIME,进行编码。,版本,:,HTTP 1.1;HTTP 1.0;HTTP 0.9,状态码,:,3,位十进制数的状态编码。,100199,信息,200299,成功,300399,重定向,400499,客户端错,500599,服务器错,状态短语,:对状态码的文字解释。,HTTP1.1,正被定义为新的,HTTP,协议的标准。一些,新特性,已被增加到最新版本的,HTTP,协议中,包括如下这些:,固定的连接。,HTTP1.1,允许在同一个连接中服务于多重请求,。此协议以前的实现方法要求为每一个在一个,Web,页上嵌入的图像建立一个独立的连接。,流水线技术,。这个特性允许给一个,Web,服务器发送附加的请求,这可在他们初始请求的回答信号到达之前发生。这将导致一个巨大的性能改进。,缓冲区指针,。实现缓冲区指针允许客户和服务器的缺省缓冲区算法可以被调用或优化。,主机标题,。,HTTP1.1,协议允许多重主机名与一个单独的,IP,地址相关联。这便除去了给一个驻留许多虚拟服务器的,Web,服务器配置多个,IP,地址的需要了。这个,主机标题用来确定请求应该被导向哪个虚拟服务器。,PUT,和,DELETE,选项,。这些命令允许一个远程管理者通过使用一个标准的,Web,浏览器来,记入或删除一些内容。,HTTP,重定向,。当原始的主页不能访问或被删除时,这个特性允许一个管理者,将一个用户重定向到一个备选的主页或,Web,站点。,HTTP,通信,HTTP,请求消息,当客户端和服务端建立,TCP,连接后,客户端就会向服务器发送一个请求信息,如:,1 GET/HTTP/1.1,2 Accept:image/gif,image/x-xbitmap,image/jpeg,客户端可识别的内容类型列表。,3 Accept-Language:,zh-cn,客户端所能解释的语言:简体中文,4 UA-CPU:x86,5 Accept-Encoding:,gzip,deflate,客户端可以解释的类型,6 User-Agent:Mozilla/4.0(compatible;MSIE 7.0;Windows NT),客户端浏览器型号,7 Host:,http:/,/,提交请求页面,8 Connection:Keep-Alive TCP,连接保持打开,9,该请求信息主要由,4,部分组成,请求方法,URI,协议,/,版本:以上代码第,1,行“,GET”,表示请求方法,“,HTTP/1.1,代表协议和协议的版本,,HTTP,请求可以使用多种请求方法,最常用的为,GET,和,POST,方法,请求头:,2-8,行,包含许多有关客户端环境和请求正文的有用信息。,空行:,9,请求头和请求正文之间是一个空行,这个行非常重要,表示请求头已经结束,接下来是正文,这个行非常重要,它表示请求头已经结束,接下来是请求正文。,请求正文。请求正文中可以包含客户提交的查询字符串信息,如用户名和密码等。,GET,和,POST,方法,GET,方法是默认的,HTTP,请求方法,我们日常用,GET,方法来提交表单数据,然而用,GET,方法提交的表单数据只经过了简单的编码,同时它将作为,URL,的一部分向,Web,服务器发送,因此,如果使用,GET,方法来提交表单数据就存在着安全隐患,同时这个,URL,长度还有限制,不允许超过,1k,。,POST,方法
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械制造 > 工业自动化


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!