HTTP协议培训课件(PPT-43张)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

HTTP协议培训Page2初识HTTP协议了解HTTP协议在网络中的应用HTTP协议基础知识总结内容提要Page3初识HTTP协议了解HTTP协议在网络中的应用HTTP协议基础知识总结内容提要Page4•HTTP是什么•HTTP的发展史•应用图例初识HTTP协议Page5初识HTTP协议-HTTP协议是什么HTTP(HypertextTransferProtocol)中文“超文本传输协议”,是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议,是Internet上目前使用最广泛的应用层协议,它基于传输层的TCP协议进行通信,HTTP协议是通用的、无状态的协议。功能:用于在服务器和客户机之间传输超文本文件。Page6初识HTTP协议-图例运行Explorer的PC机运行Navigator的MAC机运行NCSAWeb服务器软件的服务器HTTP请求HTTP响应HTTP请求HTTP响应Page7初识HTTP协议-HTTP协议发展史HTTP/0.9:从1990年就已经用来作为的传输协议,当时非常简单,只支持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标准。Page8初识HTTP协议了解HTTP协议在网络中的应用HTTP协议基础知识总结内容提要Page9了解HTTP协议在网络中的应用HTTPHTTPUserProtocol:VXML,CCXML,SOAP...IPTCPSCTPTLSPage10初识HTTP协议了解HTTP协议在网络中的应用HTTP协议基础知识总结内容提要Page11•HTTP的特点•HTTP的事务处理•HTTP的消息链•Proxy介绍•HTTP消息介绍•HTTP请求消息•HTTP响应消息HTTP协议基础知识Page12HTTP协议基础知识-HTTP的特点客户/服务器模式:一个服务器可以为分布在世界各地的许多客户服务。简单:HTTP本身处理简单,有效地处理大量请求,HTTP服务器程序规模小,所以经由HTTP的通信速度快,与其它协议相比,时间开销小得多。灵活:HTTP允许传输任意类型的数据对象,可以通过Content-type来指定数据类型。无状态:HTTP是无状态的协议,缺少状态记忆,运行速度高,服务器应答速度较快。Page13HTTP协议基础知识-HTTP的事务处理HTTP定义的事务处理由以下四步组成:客户端与服务器端建立连接客户端向服务器端发送请求服务器端向客户端回复响应断开连接Page14HTTP协议基础知识-消息链HTTP消息请求响应链:===================requestchain====================UA1-----------A-----------B--------C---------O==================responsechain=====================Page15HTTP协议基础知识-Proxy(组网图)CompanyIntranetProxyserveronfirewallRemoteWebServersPage16HTTP协议基础知识-HTTP的消息类型HTTP的消息类型共分为两大类请求(Request)消息:由客户端发给服务器的消息。其组成包括:请求行(Request-Line),可选的头域(HeaderField),及实体(Entity-Body)。响应(Response)消息:是服务端回复客户端请求的消息,其组成包括状态行(Status-Line),可选的头域(HeaderField),及实体(Entity-Body)。Page17HTTP协议基础知识-请求消息(消息结构)请求消息结构:Full-Request=Request-Line*(General-Header|Request-Header|Entity-Header)CRLF[Entity-Body]Page18HTTP协议基础知识-请求消息(请求行)请求行结构:Request-Line=MethodSPRequest-URISPHTTP-VersionCRLF例如:GET协议基础知识-请求消息(示例)请求消息示例:GET:closeUser-agent:Mozilla/4.0Accept-Encoding:gzip,compressAccept-language:enCRLFEntity-BodyPage20HTTP协议基础知识-请求消息(示例)这个消息共有5行(每行以一个回车符和一个换行符结束),最后一行后面还有额外的一个回车符和换行符,以及一个可选的实体。当然,一个请求消息可以不止这么多行,也可以仅仅只有一行。请求消息的第一行称为请求行(requestline),后续各行都称为报头行(header)。Page21HTTP协议基础知识-请求消息(示例)请求行有3个元素:请求方法、URI、HTTP版本,最后以CRLF结尾,各个元素之间用SP字符隔开。1、请求方法:指出客户请求服务器执行的一般操作。HTTP/1.1中定义了八种请求方法,其中GET、POST、HEAD、是常用请求方法。2、URI:统一资源标识,简单地讲被请求资源所处的地址,如:,3、HTTP版本:HTTP/1.1,高版本的服务器接受低版本客户的请求,并向客户发送同样版本的应答;高版本的客户接受低版本服务器的应答。Page22HTTP协议基础知识-请求方法方法名备注GET获取一个URL指定的资源,即资源实体HEAD获取一个指定资源的信息,POST向服务器提交数据PUT向服务器提交资源DELETE请求源服务器删除Request-URI标识的资源TRACE网络跟踪CONNECT与PROXY之间的连接管理OPTIONS查询能力Page23HTTP协议基础知识-请求消息(示例)现在了解一下本例中的各个报头:1、Connection:close是在告知服务器本浏览器不想使用永久连接方式(HTTP/1.0使用非永久连接,HTTP/1.1默认使用永久连接)。2、User-agent:Mozilla/4.0指定用户代理服务器的类型。3、Accept-Encoding:gzip,compress指出发送此请求的浏览器支持哪些压缩编码方式。Page24HTTP协议基础知识-请求消息(示例)4、Accept-languag:en指出客户浏览器支持的语言是英语(english),Page25HTTP协议基础知识-响应消息(消息结构)响应消息结构:Full-Response=Status-Line*(General-Header|Response-Header|Entity-Header)CRLF[Entity-Body]响应消息由状态行(statusline)、报头和实体主体三部分组成。Page26HTTP协议基础知识-响应消息(示例)响应消息示例:HTTP/1.1200OKConnection:closeDate:Thu,13Oct200503:17:33GMTServer:Apache/2.0.54(Unix)Last—Nodified:Mon,22Jun199809;23;24GMTContent—Length:682lContent-Type:text/htmlPage27HTTP协议基础知识-响应消息(状态行)状态行结构:Status-Line=HTTP-VersionSPStatus-CodeSPReason-PhraseCRLF例如:HTTP/1.1200OK状态行由协议版本、状态码、原因短语3个元素组成,各个元素之间用SP分隔。状态码字段由三个数字组成,标识客户请求方法的结果。状态码有5种可能的值,如下表所示。Page28HTTP协议基础知识-响应消息(示例)状态码定义说明1XX信息接收到请求,继续处理2XX成功操作成功地收到,理解和接受3XX重定向为了完成请求,必须采取进一步措施4XX客户端错误请求的语法有错误或不能完全被满足。5XX服务端错误服务器无法完成明显有效的请求。Page29HTTP协议基础知识-响应消息(示例)1、Date:Thu,13Oct200503:17:33GMT指出服务器创建并发送本响应消息的日期和时间。HTTP允许下面三种不同格式的日期/时间,但必须是格林尼治标准时间:HTTP-date=rfc1123-date|rfc-850-date|asctime-date2、Server:Apache/2.0.54(Unix)指出本消息是由Apache服务器产生的,服务器版本为2.0.54,3、Last—Nodified:Mon,22Jun199809;23;24GMT指出对象本身的创建或最后修改日期或时间。Page30HTTP协议基础知识-响应消息(示例)Last—Nodified:报头项对于对象的高速缓存至关重要,且不论这种高速缓存是发生在本地客户主机上还是发生在网络高速缓存服务器主机(也就是代理服务器主机)上。5、Content—Length:682l指出所发送对象的字节数。6、Content—Type:text/html指出包含在实体中的对象是HTML文本。Page31HTTP协议基础知识--报头消息的报头分通用报头、请求报头、响应报头和实体报头四个类型。通用报头指同时适用于请求和响应消息,但是不适用于被传送的实体。General-Header=Date|Pragma请求报头允许客户向服务器发送有关请求或有关客户自己的信息。Page32HTTP协议基础知识--报头request-header=Accept|Accept-Charset|Accept-Encoding|Accept-Language|Authorization|Expect|From|Host|If-MatchPage33HTTP协议基础知识--报头响应报头允许服务器传送不能放在状态行中的额外信息。response-header=Accept-Ranges|Age|ETag|Location|Proxy-Authenticate|Retry-After|Server|Vary|协议基础知识--报头实体报头定义了有关实体主体的可选信息或在没有实体主体时有关请求标识的资源信息。entity-header=Allow|Content-Encoding|Content-Language|Content-Length|Content-Location|Content-MD5|Content-Range|Content-Type|Expires|Last-Modified|extension-headerPage35HTTP协议基础知识--缓存(Cache)缓存通过就近存取先前取得的对象来降低对象检索延迟,减少因特网上的web流量。既可以驻留在客户主机中,也可以驻留在中间网络高速缓存服务器主机中。缓存在降低用户可感知的响应时间的同时,却引入了一个新的问题——缓存中存放的对象的拷贝可能是过期的。换句话说,存放在web服务器中的对象可能己在客户高速缓存下它的一个拷贝之后被修改了。HTTP提供一个专门机制,使得在允许客户进行高速缓存的同时,仍确保传递给浏览器的所有对象都是最新的。Page36HTTP协议基础知识满足条件(1)使

1 / 44
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功