资源预览内容
第1页 / 共43页
第2页 / 共43页
第3页 / 共43页
第4页 / 共43页
第5页 / 共43页
第6页 / 共43页
第7页 / 共43页
第8页 / 共43页
第9页 / 共43页
第10页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
HUAWEI TECHNOLOGIES CO., LTD.中央软件部中央软件部中央软件部中央软件部VPPVPP平台部平台部平台部平台部VPP打造优秀的软件平台打造优秀的软件平台HTTPHTTP协议培训胶片协议培训胶片HUAWEI TECHNOLOGIES CO., LTD.Page 2初识初识初识初识HTTPHTTP协议协议协议协议了解了解了解了解HTTPHTTP协议在网络中的应用协议在网络中的应用协议在网络中的应用协议在网络中的应用HTTPHTTP协议基础知识协议基础知识协议基础知识协议基础知识总结总结总结总结内容提要内容提要HUAWEI TECHNOLOGIES CO., LTD.Page 3初识初识初识初识HTTPHTTP协议协议协议协议了解了解了解了解HTTPHTTP协议在网络中的应用协议在网络中的应用协议在网络中的应用协议在网络中的应用HTTPHTTP协议基础知识协议基础知识协议基础知识协议基础知识总结总结总结总结内容提要内容提要HUAWEI TECHNOLOGIES CO., LTD.Page 4 HTTPHTTP是什么是什么 HTTPHTTP的发展史的发展史 应用图例应用图例初识初识初识初识HTTPHTTP协议协议协议协议HUAWEI TECHNOLOGIES CO., LTD.Page 5初识初识HTTP协议协议 HTTP协议是什么协议是什么HTTPHTTP(Hypertext Transfer ProtocolHypertext Transfer Protocol)中文)中文 “ “超文本传超文本传输协议输协议”,是一种为分布式,合作式,多媒体信息系统是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议,是服务,面向应用层的协议,是InternetInternet上目前使用最广上目前使用最广泛的应用层协议,它基于传输层的泛的应用层协议,它基于传输层的TCPTCP协议进行通信,协议进行通信,HTTPHTTP协议是通用的、协议是通用的、无状态的协议无状态的协议。功能:功能:用于在服务器和客户机之间传输超文本文件。用于在服务器和客户机之间传输超文本文件。HUAWEI TECHNOLOGIES CO., LTD.Page 6初识初识HTTP协议协议图例图例HUAWEI TECHNOLOGIES CO., LTD.Page 7初识初识HTTP协议协议HTTP协议发展史协议发展史uHTTP/0.9HTTP/0.9:从1990年就已经用来作为WWW的传输协议,当时非常简单,只支持GET方法,响应中携带的消息必须HTML文件。u HTTP/1.0HTTP/1.0:1996发布RFC1945,90年后,基于0.9的各种客户端和服务端的扩展层出不穷,把这些扩 展进行综合推出新标准HTTP/1.0 。u HTTP/1.1HTTP/1.1: 1997推出RFC2068,HTTP/1.1的标准。u HTTP/1.1HTTP/1.1: 1999推出RFC2616,废弃了RFC2068标准。HUAWEI TECHNOLOGIES CO., LTD.Page 8初识初识初识初识HTTPHTTP协议协议协议协议了解了解了解了解HTTPHTTP协议在网络中的应用协议在网络中的应用协议在网络中的应用协议在网络中的应用HTTPHTTP协议基础知识协议基础知识协议基础知识协议基础知识总结总结总结总结内容提要内容提要HUAWEI TECHNOLOGIES CO., LTD.Page 9了解了解HTTP协议在网络中的应用协议在网络中的应用HUAWEI TECHNOLOGIES CO., LTD.Page 10初识初识初识初识HTTPHTTP协议协议协议协议了解了解了解了解HTTPHTTP协议在网络中的应用协议在网络中的应用协议在网络中的应用协议在网络中的应用HTTPHTTP协议基础知识协议基础知识协议基础知识协议基础知识总结总结总结总结内容提要内容提要HUAWEI TECHNOLOGIES CO., LTD.Page 11 HTTPHTTP的特点的特点 HTTPHTTP的事务处理的事务处理 HTTPHTTP的消息链的消息链 ProxyProxy介绍介绍 HTTPHTTP消息介绍消息介绍 HTTPHTTP请求消息请求消息 HTTPHTTP响应消息响应消息HTTPHTTP协议基础知识协议基础知识协议基础知识协议基础知识HUAWEI TECHNOLOGIES CO., LTD.Page 12HTTP协议基础知识协议基础知识HTTP的特点的特点 客户客户/ /服务器模式:一个服务器可以为分布在世界各地服务器模式:一个服务器可以为分布在世界各地 的许多客户服务。的许多客户服务。 简单:简单:HTTPHTTP本身处理简单本身处理简单, ,有效地处理大量请求,有效地处理大量请求,HTTP HTTP 服务器程序规模小,所以经由服务器程序规模小,所以经由HTTPHTTP的通信速度快的通信速度快, ,与其与其 它协议相比它协议相比, ,时间开销小得多。时间开销小得多。 灵活灵活: HTTP: HTTP允许传输任意类型的数据对象,可以通过允许传输任意类型的数据对象,可以通过Content-typeContent-type来指定数据类型。来指定数据类型。 无状态:无状态:HTTPHTTP是无状态的协议,缺少状态记忆是无状态的协议,缺少状态记忆, ,运行速运行速 度高度高, ,服务器应答速度较快。服务器应答速度较快。HUAWEI TECHNOLOGIES CO., LTD.Page 13HTTP协议基础知识协议基础知识HTTP的事务处理的事务处理HTTPHTTP定义的事务处理由以下四步组成定义的事务处理由以下四步组成: :客户端与服务器端建立连接客户端与服务器端建立连接客户端向服务器端发送请求客户端向服务器端发送请求服务器端向客户端回复响应服务器端向客户端回复响应断开连接断开连接HUAWEI TECHNOLOGIES CO., LTD.Page 14HTTP协议基础知识协议基础知识消息链消息链HTTPHTTP消息请求响应链:消息请求响应链:=request chain =request chain =UA1 - A - B - C - OUA1 - A - B - C - O=response chain=response chain= HUAWEI TECHNOLOGIES CO., LTD.Page 15HTTP协议基础知识协议基础知识Proxy(组网图组网图)Company IntranetProxy server on firewallRemote Web ServersHUAWEI TECHNOLOGIES CO., LTD.Page 16HTTP协议基础知识协议基础知识HTTP的消息类型的消息类型HTTPHTTP的消息类型共分为两大类的消息类型共分为两大类 请求请求(Request)(Request)消息:由客户端发给服务器的消息。消息:由客户端发给服务器的消息。 其组成包括其组成包括: :请求行请求行(Request-Line)(Request-Line),可选的头域,可选的头域 (Header Field )(Header Field ),及实体,及实体( (Entity-BodyEntity-Body) )。 响应响应(Response)(Response)消息:是服务端回复客户端请求的消消息:是服务端回复客户端请求的消 息,其组成包括状态行息,其组成包括状态行(Status-Line)(Status-Line),可选的头域,可选的头域 (Header Field )(Header Field ),及实体,及实体( (Entity-BodyEntity-Body) )。HUAWEI TECHNOLOGIES CO., LTD.Page 17HTTP协议基础知识协议基础知识请求消息(消息结构)请求消息(消息结构)请求消息结构:请求消息结构:Full-Request = Request-LineFull-Request = Request-Line*(General-Header*(General-Header | Request-Header | Request-Header | Entity-Header) | Entity-Header)CRLFCRLFEntity-BodyEntity-BodyHUAWEI TECHNOLOGIES CO., LTD.Page 18HTTP协议基础知识协议基础知识请求消息(请求行)请求消息(请求行)请求行结构:请求行结构:Request-Line =Request-Line = Method SP Method SP Request-URIRequest-URISP SP HTTP-Version CRLFHTTP-Version CRLF例如:例如:GET http:/www.yesky.com/pub/WWW/page.html GET http:/www.yesky.com/pub/WWW/page.html HTTP/1.1HTTP/1.1HUAWEI TECHNOLOGIES CO., LTD.Page 19HTTP协议基础知识协议基础知识请求消息(示例)请求消息(示例)请求消息示例:请求消息示例:GET http:/www.yesky.com/pub/WWW/page.html HTTP/1.1Connection:closeUser-agent:Mozilla/4.0Accept-Encoding:gzip,compressAccept-language:enCR LFEntity-BodyHUAWEI TECHNOLOGIES CO., LTD.Page 20HTTP协议基础知识协议基础知识请求消息(示例)请求消息(示例) 这个消息共有5行(每行以一个回车符和一个换行符结束),最后一行后面还有额外的一个回车符和换行符,以及一个可选的实体。当然,一个请求消息可以不止这么多行,也可以仅仅只有一行。请求消息的第一行称为请求行(request line),后续各行都称为报头行(header)。HUAWEI TECHNOLOGIES CO., LTD.Page 21HTTP协议基础知识协议基础知识请求消息(示例)请求消息(示例) 请求行有3个元素:请求方法、URI、HTTP版本,最后以CRLF结尾,各个元素之间用SP字符隔开。1、请求方法:指出客户请求服务器执行的一般操作。HTTP/1.1中定义了八种请求方法,其中GET、POST、HEAD、是常用请求方法。2、URI:统一资源标识,简单地讲被请求资源所处的地址,如:http:/www.yesky.com/pub/WWW/page.html,3、HTTP版本:HTTP/1.1,高版本的服务器接受低版本客户的请求,并向客户发送同样版本的应答;高版本的客户接受低版本服务器的应答。HUAWEI TECHNOLOGIES CO., LTD.Page 22HTTP协议基础知识协议基础知识请求方法请求方法方法名方法名备注备注GETGET获取一个获取一个URLURL指定的资源指定的资源, ,即资源实体即资源实体HEADHEAD获取一个指定资源的信息,获取一个指定资源的信息,POSTPOST向服务器提交数据向服务器提交数据PUTPUT向服务器提交资源向服务器提交资源DELETEDELETE请求源服务器删除请求源服务器删除Request-URIRequest-URI标识的资源标识的资源TRACETRACE网络跟踪网络跟踪CONNECTCONNECT与与PROXYPROXY之间的连接管理之间的连接管理OPTIONSOPTIONS查询能力查询能力HUAWEI TECHNOLOGIES CO., LTD.Page 23HTTP协议基础知识协议基础知识请求消息(示例)请求消息(示例)现在了解一下本例中的各个报头:1、Connection:close是在告知服务器本浏览器不想使用永久连接方式(HTTP/1.0使用非永久连接,HTTP/1.1默认使用永久连接)。2、User-agent:Mozilla/4.0指定用户代理服务器的类型。3、Accept-Encoding:gzip,compress指出发送此请求的浏览器支持哪些压缩编码方式。HUAWEI TECHNOLOGIES CO., LTD.Page 24HTTP协议基础知识协议基础知识请求消息(示例)请求消息(示例)4、Accept-languag:en指出客户浏览器支持的语言是英语(english),HUAWEI TECHNOLOGIES CO., LTD.Page 25HTTP协议基础知识协议基础知识响应消息(消息结构)响应消息(消息结构)响应消息结构:响应消息结构:Full-Response =Full-Response =Status-LineStatus-Line*(General-Header*(General-Header | Response-Header | Response-Header | Entity-Header) | Entity-Header)CRLFCRLFEntity-BodyEntity-Body响应消息由状态行响应消息由状态行(status line)(status line)、报头和实体主体三部、报头和实体主体三部分组成。分组成。HUAWEI TECHNOLOGIES CO., LTD.Page 26HTTP协议基础知识协议基础知识响应消息(示例)响应消息(示例)响应消息示例:响应消息示例: 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 HUAWEI TECHNOLOGIES CO., LTD.Page 27HTTP协议基础知识协议基础知识响应消息(状态行)响应消息(状态行)状态行结构:状态行结构:Status-Line = Status-Line = HTTP-Version SP HTTP-Version SP Status-Code SP Status-Code SP Reason-Phrase CRLFReason-Phrase CRLF例如:例如: HTTP/1.1 200 OK HTTP/1.1 200 OK 状态行由协议版本、状态码、原因短语状态行由协议版本、状态码、原因短语3 3个元素组成,各个个元素组成,各个元素之间用元素之间用SPSP分隔。状态码字段由三个数字组成,标识客分隔。状态码字段由三个数字组成,标识客户请求方法的结果。状态码有户请求方法的结果。状态码有5 5种可能的值,如下表所示。种可能的值,如下表所示。HUAWEI TECHNOLOGIES CO., LTD.Page 28HTTP协议基础知识协议基础知识响应消息(示例)响应消息(示例)状态码状态码定义定义说明说明1XX1XX信息信息接收到请求,继续处理接收到请求,继续处理2XX2XX成功成功操作成功地收到,理解和接受操作成功地收到,理解和接受3XX3XX重定向重定向为了完成请求,必须采取进一步措施为了完成请求,必须采取进一步措施4XX4XX客户端错误客户端错误请求的语法有错误或不能完全被满足。请求的语法有错误或不能完全被满足。5XX5XX服务端错误服务端错误服务器无法完成明显有效的请求。服务器无法完成明显有效的请求。HUAWEI TECHNOLOGIES CO., LTD.Page 29HTTP协议基础知识协议基础知识响应消息(示例)响应消息(示例)1 1、DateDate:Thu,13Oct200503:17:33GMTThu,13Oct200503:17:33GMT指出服务指出服务器创建并发送本响应消息的日期和时间。器创建并发送本响应消息的日期和时间。HTTPHTTP允许下面允许下面三种不同格式的日期三种不同格式的日期/ /时间,但必须是格林尼治标准时间:时间,但必须是格林尼治标准时间:HTTP-date=rfc1123-date|rfc-850-date| asctime-dateHTTP-date=rfc1123-date|rfc-850-date| asctime-date2 2、ServerServer:Apache/2.0.54(Unix)Apache/2.0.54(Unix)指出本消息是由指出本消息是由ApacheApache服务器产生的,服务器版本为服务器产生的,服务器版本为2.0.542.0.54,3 3、LastNodifiedLastNodified: Mon,22Jun199809;23;24GMTMon,22Jun199809;23;24GMT指出对象本身的创指出对象本身的创建或最后修改日期或时间。建或最后修改日期或时间。HUAWEI TECHNOLOGIES CO., LTD.Page 30HTTP协议基础知识协议基础知识响应消息(示例)响应消息(示例)LastNodified:LastNodified:报头项对于对象的高速缓存至关重要,且报头项对于对象的高速缓存至关重要,且不论这种高速缓存是发生在本地客户主机上还是发生在网不论这种高速缓存是发生在本地客户主机上还是发生在网络高速缓存服务器主机络高速缓存服务器主机( (也就是代理服务器主机也就是代理服务器主机) )上。上。5 5、ContentLengthContentLength:682l682l指出所发送对象的字节数。指出所发送对象的字节数。6 6、ContentTypeContentType:text/htmltext/html指出包含在实体中的对象是指出包含在实体中的对象是HTMLHTML文本。文本。 HUAWEI TECHNOLOGIES CO., LTD.Page 31HTTP协议基础知识协议基础知识 报头报头消息的报头分通用报头、请求报头、响应报头和实体报头消息的报头分通用报头、请求报头、响应报头和实体报头四个类型。四个类型。通用报头指同时适用于请求和响应消息,但是不适用于被通用报头指同时适用于请求和响应消息,但是不适用于被传送的实体。传送的实体。General-Header = Date | PragmaGeneral-Header = Date | Pragma请求报头允许客户向服务器发送有关请求或有关客户自己请求报头允许客户向服务器发送有关请求或有关客户自己的信息。的信息。HUAWEI TECHNOLOGIES CO., LTD.Page 32HTTP协议基础知识协议基础知识报头报头 request-header = Accept request-header = Accept | Accept-Charset | Accept-Charset | Accept-Encoding | Accept-Encoding | Accept-Language | Accept-Language | Authorization | Authorization | Expect | Expect | From | From | Host | Host | If-Match | If-MatchHUAWEI TECHNOLOGIES CO., LTD.Page 33HTTP协议基础知识协议基础知识 报头报头响应报头允许服务器传送不能放在状态行中的额外信息。响应报头允许服务器传送不能放在状态行中的额外信息。response-header = Accept-Ranges response-header = Accept-Ranges | Age | Age | ETag | ETag | Location | Location | Proxy-Authenticate | Proxy-Authenticate | Retry-After | Retry-After | Server | Server | Vary | WWW-Authenticate | Vary | WWW-AuthenticateHUAWEI TECHNOLOGIES CO., LTD.Page 34HTTP协议基础知识协议基础知识 报头报头实体报头定义了有关实体主体的可选信息或在没有实体主实体报头定义了有关实体主体的可选信息或在没有实体主体时有关请求标识的资源信息。体时有关请求标识的资源信息。entity-header = Allow | Content-Encodingentity-header = Allow | Content-Encoding | Content-Language | Content-Length | Content-Language | Content-Length | Content-Location | Content-MD5 | Content-Location | Content-MD5 | Content-Range | Content-Type | Content-Range | Content-Type | Expires | Last-Modified | Expires | Last-Modified | extension-header | extension-headerHUAWEI TECHNOLOGIES CO., LTD.Page 35HTTP协议基础知识协议基础知识缓存(缓存(Cache ) 缓存通过就近存取先前取得的对象来降低对象检索延缓存通过就近存取先前取得的对象来降低对象检索延迟,减少因特网上的迟,减少因特网上的webweb流量。既可以驻留在客户主机中,流量。既可以驻留在客户主机中,也可以驻留在中间网络高速缓存服务器主机中。也可以驻留在中间网络高速缓存服务器主机中。 缓存在降低用户可感知的响应时间的同时,却引入了一缓存在降低用户可感知的响应时间的同时,却引入了一个新的问题个新的问题缓存中存放的对象的拷贝可能是过期的。缓存中存放的对象的拷贝可能是过期的。换句话说,存放在换句话说,存放在webweb服务器中的对象可能己在客户高服务器中的对象可能己在客户高速缓存下它的一个拷贝之后被修改了速缓存下它的一个拷贝之后被修改了 。 HTTPHTTP提供一个专门机制,使得在允许客户进行高速缓存提供一个专门机制,使得在允许客户进行高速缓存的同时,仍确保传递给浏览器的所有对象都是最新的。的同时,仍确保传递给浏览器的所有对象都是最新的。 HUAWEI TECHNOLOGIES CO., LTD.Page 36HTTP协议基础知识协议基础知识满足条件满足条件(1)(1)使用使用GETGET方法,方法,(2)(2)包含包含If-Modified-Since:If-Modified-Since:报报头的头的HTTPHTTP请求消息就是所谓的带条件的请求消息就是所谓的带条件的GetGet消息。消息。在在HTTP/1.1HTTP/1.1中,定义了中,定义了CacheCache的缓存规则,的缓存规则,Cache-Control Cache-Control = Cache-Control : 1#cache-directive= Cache-Control : 1#cache-directive cache-directive = cache-request-directive cache-directive = cache-request-directive | cache-response-directive | cache-response-directiveCache-ControlCache-Control指定请求和响应遵循的缓存机制,在请求或指定请求和响应遵循的缓存机制,在请求或响应消息中设置响应消息中设置Cache-ControlCache-Control并不会修改另一个消息处理并不会修改另一个消息处理HUAWEI TECHNOLOGIES CO., LTD.Page 37HTTP协议基础知识协议基础知识过程中的缓存处理过程。请求时的缓存指令包括过程中的缓存处理过程。请求时的缓存指令包括no-cacheno-cache、no-storeno-store、max-agemax-age、max-stalemax-stale、min-freshmin-fresh、only-if-only-if-cachedcached,响应消息中的指令包括,响应消息中的指令包括publicpublic、privateprivate、no-no-cachecache、no-storeno-store、no-transformno-transform、must-revalidatemust-revalidate、proxy-revalidateproxy-revalidate、max-agemax-age。 HUAWEI TECHNOLOGIES CO., LTD.Page 38初识初识初识初识HTTPHTTP协议协议协议协议了解了解了解了解HTTPHTTP协议在网络中的应用协议在网络中的应用协议在网络中的应用协议在网络中的应用HTTPHTTP协议基础知识协议基础知识协议基础知识协议基础知识总结总结总结总结内容提要内容提要HUAWEI TECHNOLOGIES CO., LTD.Page 39初识初识初识初识HTTPHTTP协议协议协议协议了解了解了解了解HTTPHTTP协议在网络中的应用协议在网络中的应用协议在网络中的应用协议在网络中的应用HTTPHTTP协议基础知识协议基础知识协议基础知识协议基础知识总结总结总结总结内容提要内容提要HUAWEI TECHNOLOGIES CO., LTD.Page 40总结总结HTTPHTTP定义了定义了WEBWEB客户端和服务器端之间的信息交互客户端和服务器端之间的信息交互. .HTTPHTTP起初是一个非常简单的协议,随着时间的发展,起初是一个非常简单的协议,随着时间的发展,越来越复杂。越来越复杂。当前版本是当前版本是HTTP/1.1HTTP/1.1HUAWEI TECHNOLOGIES CO., LTD.Page 41总结总结 -参考资料参考资料IETF RFC2616IETF RFC2616http:/www.w3.org/Protocols/http:/www.w3.org/Protocols/HUAWEI TECHNOLOGIES CO., LTD.Page 42FAQHUAWEI TECHNOLOGIES CO., LTD.Page 43
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号