欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    HTTP协议学习的心得.ppt

    • 资源ID:5433741       资源大小:707KB        全文页数:50页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    HTTP协议学习的心得.ppt

    HTTP 协议学习,田鸿飞,HTTP协议HTTPS协议SSL协议,HTTP/0.9:从1990年就已经用来作为WWW的传输 协议,当时非常简单,只支持GET方法,响应中携带的消息必须HTML文件。HTTP/1.0:1996发布RFC1945,90年后,基于0.9的各种客户端和服务端的扩展层出不穷,把这些扩展进行综合推出新标准HTTP/1.0。HTTP/1.1:1997推出RFC2068,HTTP/1.1的标准。HTTP/1.1:1999推出RFC2616,废弃了RFC2068标准。,初识HTTP协议HTTP协议发展史,HTTP在TCP/IP协议栈中的位置,默认 HTTP 的端口号为 80,HTTPS 的端口号为 443。,HTTP协议基础知识HTTP的特点,客户/服务器模式:一个服务器可以为分布在世界各地 的许多客户服务。简单:HTTP本身处理简单,有效地处理大量请求,HTTP 服务器程序规模小,所以经由HTTP的通信速度快,与其 它协议相比,时间开销小得多。灵活:HTTP允许传输任意类型的数据对象,可以通过 Content-type来指定数据类型。无状态:HTTP是无状态的协议,缺少状态记忆,运行速 度高,服务器应答速度较快。,HTTP协议基础知识HTTP的事务处理,HTTP定义的事务处理由以下四步组成:客户端与服务器端建立连接客户端向服务器端发送请求服务器端向客户端回复响应断开连接,如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由 HTTP 自己完成的,用户只要用鼠标点击,等待信息显示就可以了。,注意,HTTP协议基础知识HTTP的消息类型,HTTP的消息类型共分为两大类:请求(Request)消息:由客户端发给服务器的消息。其组成包括:请求行(Request-Line),可选的头域(Header Field),及实体(Entity-Body)。响应(Response)消息:是服务端回复客户端请求的消 息,其组成包括状态行(Status-Line),可选的头域(Header Field),及实体(Entity-Body)。,HTTP协议基础知识请求消息(消息结构),请求消息结构:Full-Request=Request-Line*(General-Header|Request-Header|Entity-Header)CRLFEntity-Body请求消息由请求行(Request-Line)、报头和实体主体三部分组成。,HTTP协议基础知识请求消息(请求行),请求行结构:Request-Line=Method SP Request-URISP HTTP-Version CRLF例如:GET http:/HTTP/1.1,HTTP协议基础知识请求消息(请求行),请求行有3个元素:请求方法、URI、HTTP版本,最后以CRLF结尾,各个元素之间用SP字符隔开。1、请求方法:指出客户请求服务器执行的一般操作。HTTP/1.1中定义了八种请求方法,其中GET、POST、HEAD、是常用请求方法。2、URI:统一资源标识,简单地讲被请求资源所处的地址,如:。3、HTTP版本:HTTP/1.1,高版本的服务器接受低版本客户的请求,并向客户发送同样版本的应答;高版本的客户接受低版本服务器的应答。,HTTP协议基础知识请求方法,HTTP协议基础知识请求消息(示例),请求消息示例:GET http:/HTTP/1.1Connection:closeUser-agent:Mozilla/4.0Accept-Encoding:gzip,compressAccept-language:enCRLFEntity-Body,HTTP协议基础知识请求消息(示例),这个消息共有5行(每行以一个回车符和一个换行符结束),最后一行后面还有额外的一个回车符 和换行符,以及一个可选的实体。当然,一个请求消息可以不止这么多行,也可以仅仅只有一行。请求消息的第一行称为请求行(request line),后续各行都称为报头行(header)。,HTTP协议基础知识请求消息(示例),现在了解一下本例中的各个报头:1、Connection:close是在告知服务器本浏览器不想使用永久连接方式(HTTP/1.0使用非永久连接,HTTP/1.1默认使用永久连接)。2、User-agent:Mozilla/4.0指定用户代理服务器的类型。3、Accept-Encoding:gzip,compress指出发送此请求的浏览器支持哪些压缩编码方式。4、Accept-languag:en指出客户浏览器支持的语言是英语(english)。,HTTP协议基础知识响应消息(消息结构),响应消息结构:Full-Response=Status-Line*(General-Header|Response-Header|Entity-Header)CRLFEntity-Body响应消息由状态行(status line)、报头和实体主体三部分组成。,HTTP协议基础知识响应消息(状态行),状态行结构:Status-Line=HTTP-Version SP Status-Code SP Reason-Phrase CRLF例如:HTTP/1.1 200 OK 状态行由协议版本、状态码、原因短语3个元素组成,各个元素之间用SP分隔。状态码字段由三个数字组成,标识客户请求方法的结果。状态码有5种可能的值,如下表所示。,HTTP协议基础知识响应消息(示例),响应消息示例:HTTP/1.1 200 OK Connection:close Date:Thu,13Oct200503:17:33GMT Server:Apache/2.0.54(Unix)LastNodified:Mon,22Jun199809;23;24GMT ContentLength:682l Content-Type:text/html,HTTP协议基础知识响应消息(示例),HTTP协议基础知识响应消息(示例),1、Date:Thu,13Oct200503:17:33GMT指出服务器创建并发送本响应消息的日期和时间。HTTP允许下面三种不同格式的日期/时间,但必须是格林尼治标准时间:HTTP-date=rfc1123-date|rfc-850-date|asctime-date Sun,06 Nov 1994 08:49:37 GMT;RFC 822,updated by RFC 1123 Sunday,06-Nov-94 08:49:37 GMT;RFC 850,obsoleted by RFC 1036 Sun Nov 6 08:49:37 1994;ANSI Cs asctime()format 2、Server:Apache/2.0.54(Unix)指出本消息是由Apache服务器产生的,服务器版本为,,HTTP协议基础知识响应消息(示例),3、LastNodified:Mon,22Jun199809;23;24GMT指出对象本身的创建或最后修改日期或时间。LastNodified:报头项对于对象的高速缓存至关重要,且不论这种高速缓存是发生在本地客户主机上还是发生在网络高速缓存服务器主机(也就是代理服务器主机)上。4、ContentLength:682l指出所发送对象的字节数。5、ContentType:text/html指出包含在实体中的对象是HTML文本。,HTTP协议基础知识 报头,消息的报头分通用报头、请求报头、响应报头和实体报头四个类型。通用报头指同时适用于请求和响应消息,但是不适被 传送的实体。General-Header=Date|Pragma|Cache-Control|Connection|Transfer-Encoding|Upgrade|Via,HTTP协议基础知识报头,请求报头允许客户向服务器发送有关请求或有关客户自己的信息。request-header=Accept|Accept-Charset|Accept-Encoding|Accept-Language|Authorization|Expect|From|Host|If-Match,HTTP协议基础知识 报头,响应报头允许服务器传送不能放在状态行中的额外信息。response-header=Accept-Ranges|Age|ETag|Location|Proxy-Authenticate|Retry-After|Server|Vary|WWW-Authenticate,HTTP协议基础知识 报头,实体报头定义了有关实体主体的可选信息或在没有实体主体时有关请求标识的资源信息。entity-header=Allow|Content-Encoding|Content-Language|Content-Length|Content-Location|Content-MD5|Content-Range|Content-Type|Expires|Last-Modified|extension-header,HTTP协议基础知识缓存(Cache),缓存通过就近存取先前取得的对象来降低对象检索延迟,减少因特网上的web流量。既可以驻留在客户主机中,也可以驻留在中间网络高速缓存服务器主机中。缓存在降低用户可感知的响应时间的同时,却引入了一个新的问题缓存中存放的对象的拷贝可能是过期的。换句话说,存放在web服务器中的对象可能己在客户高速缓存下它的一个拷贝之后被修改了。HTTP提供一个专门机制,使得在允许客户进行高速缓存的同时,仍确保传递给浏览器的所有对象都是最新的。,HTTP协议基础知识 缓存(Cache),满足条件:(1)使用GET方法,(2)包含If-Modified-Since:报头的HTTP请求消息就是所谓的带条件的Get消息。在HTTP/1.1中,定义了Cache的缓存规则,Cache-Control=Cache-Control:1#cache-directive cache-directive=cache-request-directive|cache-response-directive Cache-Control指定请求和响应遵循的缓存机制,在请求或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。,HTTP协议基础知识 缓存(Cache),请求时的缓存指令包括:no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。,总结,HTTP定义了WEB客户端和服务器端之间的信息交互.HTTP起初是一个非常简单的协议,随着时间的发展,越来越复杂。当前版本是HTTP/1.1,HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP 的安全版。即 HTTP 下加入 SSL层,HTTPS的安全基础是SSL。,HTTPS协议简介,HTTPS和HTTP的区别,HTTPS协议需要到ca申请证书,一般免费证书很少,需要交费。HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议。HTTP和HTTPS使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。HTTP的连接很简单,是无状态的。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比HTTP协议安全。,HTTPS的实现原理,两种基本的加解密算法类型:对称加密,非对称加密(公私钥加密),现在介绍一下这两种加密算法的特点:对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES、AES等,示意图如下:,HTTPS的实现原理,非对称加密:密钥成对出现(且根据公钥无法推知私钥,根据私钥也无法推知公钥),加密解密使用不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的非对称加密算法有RSA、DSA等,示意图如下:,HTTPS的实现原理,根据上面的两种加密方法,现在我们就可以设计一种无法让他人在互联网上知道你的通信息的加密方法:1.在服务器端存在一个公钥及私钥;2.客户端从服务器取得这个公钥;3.客户端产生一个随机的密钥;4.客户端通过公钥对密钥加密(非对称加密);5.客户端发送到服务器端;6.服务器端接受这个密钥并且以后的服务器端和客户端的数据全部通过这个密钥加密(对称加密)。,HTTPS的实现原理,HTTPS通信时序图,HTTPS 通信的优点:1)客户端产生的密钥只有客户端和服务器端能得到;2)加密的数据只有客户端和服务器端才能得到明文;3)客户端到服务端的通信是安全的。,总结,HTTPS是一个安全通信通道,它基于HTTP开发。使用HTTPS协议传输数据系统开销较大。一般与HTTP协议交互使用。,SSL协议概述,SSL 是Secure socket Layer英文缩写,即安全套接层协议,指使用公钥和私钥技术组合的安全网络通讯协议。SSL协议是网景公司(Netscape)推出的基于 WEB应用的安全协议,SSL协议指定了一种在应用程序协议(如Http、Telenet、NMTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证,主要用于提高应用程序之间数据的安全性,对传送的数据进行加密和隐藏,确保数据在传送中不被改变,即确保数据的完整性。SSL协议提供的服务主要有:1)认证用户和服务器,确保数据发送到正确的客户机和服务器;2)加密数据以防止数据中途被窃取;3)维护数据的完整性,确保数据在传输过程中不被改变,SSL历史,SSL 1.0?SSL 2.0 Netscape Communications.1995.Apr 第一个公布版本SSL 3.0 Netscape Communications 1996.OctTLS 1.0 TLS WorkGroup in IETF RFC 2246 1999.JanTLS 1.1 RFC 4346 2000.AprIE7 已经全面支持TLS安全套接层协议(SSL,Security Socket Layer)是网景(Netscape)公司提出的基于WEB应用的安全协议,它包括:服务器认证客户认证(可选)SSL链路上的数据完整性和SSL 链路上的数据保密性。,SSL以对称密码技术和公开密码技术相结合,可以实现如下三个通信目标:(1)秘密性:SSL客户机和服务器之间传送的数据都经过了加密处理,网络中的非法窃听者所获取的信息都将是无意义的密文信息。(2)完整性:SSL利用密码算法和散列(HASH)函数,通过对传输信息特征值的提取来保证信息的完整性,确保要传输的信息全部到达目的地,可以避免服务器和客户机之间的信息受到破坏。(3)认证性:利用证书技术和可信的第三方认证,可以让客户机和服务器相互识别对方的身份。为了验证证书持有者是其合法用户(而不是冒名用户),SSL要求证书持有者在握手时相互交换数字证书,通过验证来保证对方身份的合法性。,SSL协议的体系结构,图1 SSL结构体系,SSL协议的体系结构,SSL协议位于TCP/IP协议模型的网络层和应用层之间。SSL协议在应用层通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作,在此之后,应用层协议所传送的数据都被加密。SSL实际上是共同工作的两层协议组成,如图1所示。从体系结构图可以看出SSL安全协议实际是SSL握手协议、SSL修改密文协议、SSL警告协议和SSL记录协议组成的一个协议族。,SSL记录协议为SSL连接提供了两种服务:一是机密性,二是消息完整性。为了实现这两种服务,SSL记录协议接收传输的应用报文,将数据分片成可管理的块,进行数据压缩(可选),应用MAC,接着利用IDEA、DES、3DES或其他加密算法进行数据加密,最后增加由内容类型、主要版本、次要版本和压缩长度组成的首部。被接收的数据刚好与接收数据工作过程相反,依次被解密、验证、解压缩和重新装配,然后交给更高级用户。,SSL协议工作原理,SSL修改密文协议是使用SSL记录协议服务的SSL高层协议的3个特定协议之一,也是其中最简单的一个。协议由单个消息组成,该消息只包含一个值为1的单个字节。该消息的唯一作用就是使未决状态拷贝为当前状态,更新用于当前连接的密码组。为了保障SSL传输过程的安全性,双方应该每隔一段时间改变加密规范。,SSL协议工作原理,SSL告警协议是用来为对等实体传递SSL的相关警告。如果在通信过程中某一方发现任何异常,就需要给对方发送一条警示消息通告。警示消息有两种:一种是 Fatal错误,如传递数据过程中,发现错误的MAC,双方就需要立即中断会话,同时消除自己缓冲区相应的会话记录;第二种是Warning消息,这种情况,通信双方通常都只是记录日志,而对通信过程不造成任何影响。SSL握手协议可以使得服务器和客户能够相互鉴别对方,协商具体的加密算法和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。,SSL协议工作原理,SSL握手协议允许通信实体在交换应用数据之前协商密钥的算法、加密密钥和对客户端进行认证(可选)的协议,为下一步记录协议要使用的密钥信息进行协商,使客户端和服务器建立并保持安全通信的状态信息。SSL握手协议是在任何应用程序数据传输之前使用的。SSL握手协议包含四个阶段:第一个阶段建立安全能力;第二个阶段服务器鉴别和密钥交换;第三个阶段客户鉴别和密钥交换;第四个阶段完成握手协议。,SSL协议工作原理,SSL协议的工作流程,服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接。2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。,从SSL协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。,总结,SSL协议采用数字证书进行双端实体认证,用非对称加密算法进行密钥协商,用对称加密算法将数据加密后进行传输以保证数据的保密性,并且通过计算数字摘要来验证数据在传输过程中是否被篡改和伪造,从而为敏感数据在Internet上的传输提供了一种安全保障手段。,THANKS!,

    注意事项

    本文(HTTP协议学习的心得.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开