HTTP协议ppt课件_第1页
HTTP协议ppt课件_第2页
HTTP协议ppt课件_第3页
HTTP协议ppt课件_第4页
HTTP协议ppt课件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,HTTP协议,一舟yizhou2009-11-19,1,浏览器,2,浏览器,3,关于HTTP的问题,HTTP是什么?工作原理是什么?HTTP和HTTPS的区别?重要的头信息有哪些,都有什么作用?非文本(图片、文件)是怎么传输的?,4,HTTP是什么?,/zh-cn/HttpURI/URL/URNC/S模式ApplicationLayer(类似FTP,SMTP等等)Request/Response范式RFC2616/html/rfc2616超文本“转移”协议,5,历史版本,HTTP/0.9跨网络的简单原始数据传输,只接受GET,通讯中不指定版本号,且不支持请求头,已过时HTTP/1.0还在使用,尤其在代理服务器应用方面,RFC1945通讯中指定版本号,MIME消息格式HTTP/1.1默认持久链接,分层代理,考虑了缓存、虚拟主机等等影响,6,工作原理是什么?,7,工作原理图列,8,实验,9,HTTP与HTTPs的区别,HTTP的安全版默认使用TCP端口443HTTPS是两个协议的结合,即传输层SSL应用层HTTP服务器必需有PKI证书,而客户端则不一定,10,重要概念,1.连接(Connection):一个传输层的实际环流,它建立在两个相互通讯的应用程序之间。2.消息(Message):HTTP通讯的基本单位。3.请求(Request):一个从客户端到服务器的请求信息包括应用于资源的方法、资源的标识符和协议的版本号。,11,重要概念,4.响应(Response):一个从服务器返回的信息包括HTTP协议的版本号、请求的状态和文档的MIME类型。5.资源(Resource):由URI标识的网络数据对象或服务。6.实体(Entity):数据资源或来自服务资源的回映的一种特殊表示方法,它可能被包围在一个请求或响应信息中。一个实体包括实体头信息和实体的本身内容。,12,重要概念,7.客户机(Client):一个为发送请求目的而建立连接的应用程序。8.用户代理(UserAgent):初始化一个请求的客户机。它们是浏览器、编辑器或其它用户工具。9.服务器(Server):一个接受连接并对请求返回信息的应用程序。,13,重要概念,10.源服务器(OriginServer):是一个给定资源可以在其上驻留或被创建的服务器。11.代理(Proxy):一个中间程序,它可以充当一个服务器,也可以充当一个客户机,为其它客户机建立请求。代理经常作为通过防火墙。,14,重要概念,12.网关(Gateway):一个作为其它服务器中间媒介的服务器。与代理不同的是,网关接受请求就好象对被请求的资源来说它就是源服务器。13.通道(Tunnel):是作为两个连接中继的中介程序。一旦激活,通道便被认为不属于HTTP通讯。14.缓存(Cache):响应信息的局域存储。,15,:80/s/search?q=淘宝UED&btnG=GCN+搜索,URL,协议类型,主机,端口,路径和查询,查询参数,大小写不敏感,为空即默认,不安全的字符和%HEXHEX相同,:80/smith/home.htmlhtTP:/ABC.com/%7Esmith/home.htmlhttp:/ABC.com:/%7esmith/home.html,其他:URL的长度限制到底是多少?参数如果编码?,16,时间格式,Sunday,06-Nov-9408:49:37GMT,SunNov608:49:371994,Sun,06Nov199408:49:37GMT,17,HTTP-Message,HTTP-Message,(Request-Line|Status-Line),*(Message-HeaderCRLF),Message-Body,(Request-Line|Status-Line)*(message-headerCRLF)CRLFmessage-body,CRLF,18,Request-Line,MethodSPRequest-URISPHTTP-VersionCRLF,Request-Line,Method,Request-URI,HTTP-Version,SP,SP,CRLF,19,Status-Line,HTTP-VersionSPStatus-CodeSPReason-PhraseCRLF,Status-Line,Reason-Phrase,Status-Code,HTTP-Version,SP,SP,CRLF,20,Method,21,Status-Code,22,状态码举例,1xx:信息仅在与HTTP服务器沟通时使用100(“Continue”)2xx:成功成功收到、理解和接受动作200(“OK”)、201(“Created”)、204(“NoContent”)3xx:重定向为完成请求,必须进一步采取措施301(“MovedPermanently”)、303(“SeeOther”)、304(“NotModified”)、307(“TemporaryRedirect”)4xx:客户端错误请求包含错误的语法或不能完成400(“BadRequest”)、401(“Unauthorized”)、403(“Forbidden”)、404(“NotFound”)、405(“MethodNotAllowed”)、406(“NotAcceptable”)、409(“Conflict”)、410(“Gone”)5xx:服务器端错误服务器不能完成明显合理的请求500(“InternalServerError”)、503(“ServiceUnavailable”),23,Message-Header,Cache-Control,Connection,Date,Pragma,Trailer,Transfer-Encoding,Upgrade,Via,Warning,Accept,Accept-Charset,Accept-Encoding,Accept-Language,Authorization,Expect,From,Host,If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since,Max-Forwards,Proxy-Authorization,Range,Referer,TE,User-Agent,Accept-Ranges,Age,ETag,Location,Proxy-Authenticate,Retry-After,Server,Vary,WWW-Authenticate,Allow,Content-Encoding,Content-Language,Content-Length,Content-Location,Content-MD5,Content-Range,Content-Type,Expires,Last-Modified,通用,请求,响应,实体,24,Message-Header-其他,Cookie,Set-Cookie,X-Powered-By,X-Requested-With,“X-”开头,25,重要的HTTP头,Accept-Charset,Content-Type,Accept-Encoding,Content-Encoding,Cache-Control,User-Agent,Accept,Expires,Last-Modified,Location,Age,ETag,Date,Host,Referer,Server,26,请求的Header举例,Accept:请求希望服务器能响应何种表现格式。Accept-Encoding:告诉服务器可以接收何种压缩格式传输,以减少带宽。Range:请求获得一个资源的部分表示,常与If-Unmodified-Since一起用。If-Modified-Since:通过前一次响应Last-Modified的时间值,当条件不成立,请求成功返回。If-Match:通过前次响应ETag值,当条件不成立,请求成功返回。If-Range:通过前次响应的ETag或Last-Modified值,若请求部分变化,服务器需返回新的范围。Authorization:按特定认证方案编码的用户名和密码证书,服务器接收验证通过执行请求。,27,响应的Header举例,Accept-Ranges:表明支持部分Get请求,客户端通过Head请求获取该值,然后发送Range报头请求,获取资源部分表示。Content-Encoding:对应Accept-Encoding请求报头。Content-Language:实体主体采用的自然语言,对应Accept-Language请求报头,可能多个值。Content-Length:给出实体主体大小,客户端可据此做读取准备,也可通过Head请求来获知。Content-Location:把请求资源的规范URI告知客户端,但并不要求其使用新URI。Content-MD5:实体主体MD5,可检测错误损坏。,28,媒体类型,请求,Accept-Charset,Accept,Content-Type,响应,29,内容编码,请求,Accept-Encoding,Content-Encoding,响应,gzip,compress,x-gzip,x-compress,deflate,identity,30,传输编码,Transfer-Encoding,响应,chunked,31,传输范围,请求,Range,Content-Range,响应,206,200,Accept-Ranges,32,缓存,减少完成的请求:Validation,性能,减少请求:Expiration,33,缓存失效,减少请求:Expiration,Expires,Date,Age,年龄计算,更新周期计算,是否失效:年龄-更新周期,34,缓存证实,减少完成的请求:Validation,弱证实:Last-Modified,强证实:Etag(1.0不支持),If-Modified-Since,If-Unmodified-Since,If-Match,If-None-Match,35,可缓存性,可缓存性:Cacheability,状态码是:200,203,206,300,301,410,除非明确的禁止,其他状态码都禁止,除非明确允许,支持Range,Content-Range=206,理论上:除了明确指出不可缓存的以外都可以被缓存,实际上:需要服务器指定失效和证实才能被缓存,36,缓存控

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论