《WEB协议与实践之H》PPT课件.ppt_第1页
《WEB协议与实践之H》PPT课件.ppt_第2页
《WEB协议与实践之H》PPT课件.ppt_第3页
《WEB协议与实践之H》PPT课件.ppt_第4页
《WEB协议与实践之H》PPT课件.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

WEB协议与实践 HTTP/1.1 2014.12 start end20 min 1 1 2 2 4 4 HTTPHTTP的发展史的发展史 新旧方法、标头和响应码新旧方法、标头和响应码 3 3 高速缓存高速缓存 Keep-Alive HTTP协议发展史 u HTTP/0.9:从1990年就已经用来作为WWW的传输协议, 只支持GET方法。 u HTTP/1.0: 1996发布RFC1945,推出新标准HTTP/1.0 。 u HTTP/1.1: 1997推出RFC2068,HTTP/1.1的标准。 u HTTP/1.1: 1999推出RFC2616,废弃了RFC2068标准。 startend20 min 1 1 2 2 新旧方法、标头和响应码新旧方法、标头和响应码 HTTP的发展史 方法 请求命令功能 GET最常用的请求方法,向Web服务器请求一个文件。 POST 向Web服务器发送数据让Web服务器进行处理。可以用于提 交表单以及向新闻组、BBS、邮件群组和数据库发送消息。 PUT向Web服务器发送数据并存储在Web服务器内部。 DELETE从Web服务器上删除一个文件。 HEAD 只请求页面的应答头部信息,不包括具体页面信息。常用来 测试URL的合法性、可访问性及最近更新。 TRACE 请求服务器将附加的文档无变更的返回,主要用于调试。 OPTIONS 描述了在请求URL确定的请求/应答过程中通信条件或设备 是否可行的信息。 CONNECT与PROXY之间的连接管理 通用标头 通用头含义 Date 表示消息发送的时间 Pragma 用来包含实现特定的指令 Cache-Control 指定请求和响应遵循的缓存机制 connection用于表明是否保存socket连接为开放 via一个包含所有中间主机和协议的通用头标 upgrade 允许服务器指定一种新的协议或者新的协议版 本,与响应编码101(切换协议)配合使用。 例如:Upgrade: HTTP/2.0 Transfer-Encoding 标明对应被接受方反向的消息体实施变换的类型 Trailer消息尾部的标头 Warning错误通知 请求标头 请求头含义 Accept客户端可以处理的媒体类型 Accept-Charset客户端可以处理的字符集 Accept- Encoding客户端可以理解的编码机制 Accept-Language客户端乐于接受的自然语言列表 Authorization 定义访问一种资源所必需的授权(域和被编码的用户 ID与口令)。 From包括控制请求用户代理的人的互联网E-MAIL地址 Host 说明了正在请求的资源的互联网主机和端口号 HTTP/1.1请求必须包含主机头域,否则系统会以 400状态码返回 If-Modified-Since 如果请求的变量自从这个域说明的时间以来没有被修 改过,实体将不会从服务器返回;相反的,将返回304 响应(没有修改的)而没有任何报文实体。 请求标头 请求头含义 If-Match用于校验报头域的实体标签 If-Range 指定资源的一个实体标记,与Range头标一同使用。 如果此实体未修改,那么服务器只发送指定的范围,否则 它将发送整个资源。 Max-Forwards 一个用于TRACE方法的请求头标,以指定代理或网关的最 大数目 range指定一种度量单位和一个部分被请求资源的偏移范围 Proxy- Authenticate 有意请求只来自请求链(代理)的下一个服务器的认证 Referer 允许客户确定获得请求URL的资源地址,允许服务器生成关 于到资源的反向连接(back-link)的列表 User-Agent有关用户代理软件的信息 响应标头 响应头含义 Location 对于一个已经移动的资源,用于重定向请求者至另一个位置 。与状态编码302(暂时移动)或者301(永久性移动)配 合使用。 Server一种标明Web服务器软件及其版本号的头标 www-Authenticate 一个提示用户代理提供用户名和口令的响应头标,与状态编 码401(未授权)配合使用。 Retry-After 由服务器与状态编码503(无法提供服务)配合发送,以标 明再次请求之前应该等待多长时间 Accpet-range 允许服务器指明:将在给定的偏移和长度处,为资源组成部 分的接受请求。 Age 允许服务器规定自服务器生成该响应以来所经过的时间长度 ,以秒为单位。 Vary选择资源变体 实体标头 实体头含义 Allow 定义一个由位于请求URI中的资源所支持的HTTP方法列表 。 Content-Encoding一种介质类型修饰符,标明一个实体是如何编码的 Content-Length指定包含于请求或响应中数据的字节长度。 Content-Type标明发送或者接收的实体的MIME类型。 Expires指定实体的有效期 Last-Modified 指定被请求资源上次被修改的日期和时间 Content-MD5 实体的一种MD5摘要,用作校验和。发送方和接受方都计 算MD5摘要,接受方将其计算的值与此头标中传递的值进 行比较。 Content-Range 随部分实体一同发送;标明被插入字节的低位与高位字节 偏移,也标明此实体的总长度。 实体标头 实体头含义 Content- Location 指定包含于请求或响应中的资源定位(URI)。 Content- Language 实体的自然语言。 ETag一种实体头标,它向被发送的资源分派一个唯一的标识符 Extension- header 允许客户端定义新的实体头,但是这些域可能无法未接受 方识别。 HTTP状态码 状态码含义 100初始的请求已经接受,客户应当继续发送请求的其余部分 101服务器将遵从客户的请求转换到另外一种HTTP协议版本 200成功 201服务器已经创建了新文件,Location头给出了它的URL 202已经接受请求,但处理尚未完成 203 文件已经正常地返回,但一些应答头可能不正确,因为使用的是文 档的拷贝 204没有新文件,浏览器应该继续显示原来的文档。 205 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览 器清除表单输入内容 206客户发送了一个带有Range头的GET请求,服务器完成请求 300 客户请求的文件可以在多个位置找到,这些位置已经在返回的文件内列出 301 客户请求的文件在其他地方,新的URL在Location头中给出,浏览器应该 自动地访问新的URL 302 类似于301,但新的URL应该被视为临时性的替代,而不是永久性的 303 类似于301/302,不同之处在于,如果原来的请求是POST,Location头指 定的重定向目标文件应该通过GET提取 304 客户端有缓存的文件并发出了一个条件性的请求(一般是提供If-Modified- Since头表示客户只想比指定日期更新的文件)。服务器告诉客户,原来缓 存的文件还可以继续使用。 305客户请求的文件应该通过Location头所指明的代理服务器提取 400请求出现语法错误 401 访问被拒绝,客户试图未经授权访问受密码保护的页面。应答中会包含一 个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,然后再 填写合适的Authorization头后再次发出请求。 403 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上 文件或目录的权限设置导致 HTTP状态码 404无法找到指定位置的资源 405 请求方法(GET、POST、HEAD、DELETE、PUT、TRACE等) 对指定的资源不适用,用来访问本页面的 HTTP方法不被允许 406 指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指 定的不兼容,客户端浏览器不接受所请求页面的 MIME 类型 407 要求进行代理身份验证,类似于401,表示客户必须先经过代理服 务器的授权 408在服务器许可的等待时间内,客户一直没有发出任何请求 409 通常和PUT请求有关。由于请求和资源的当前状态相冲突,因此请 求不能成功 410 所请求的文件已经不再可用,而且服务器不知道应该重定向到哪一 个地址。它和404的不同在于,返回407表示文件永久地离开了指 定的位置,而404表示由于未知的原因文件不可用。 411服务器不能处理请求,除非客户发送一个Content-Length头 HTTP状态码 412请求头中指定的一些前提条件失败 413目标文件的大小超过服务器当前愿意处理的大小 414请求的资源URL长于服务器允许的长度 415请求资源不支持请求文件格式 416服务器不能满足客户在请求中指定的Range头 417执行失败 500服务器遇到了意料不到的情况,不能完成客户的请求 501 服务器不支持实现请求所需要的功能。例如,客户发出了一个服务 器不支持的PUT请求。 502 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但 该服务器返回了非法的应答 503服务不可用,服务器由于维护或者负载过重未能应答 504网关超时,表示不能及时地从远程服务器获得应答 505服务器不支持请求中所指明的HTTP版本 HTTP状态码 startend20 min 1 1 2 2 3 3 新旧方法、标头和响应码 HTTP的发展史高速缓存高速缓存 与缓存相关的HTTP头 Last-Modified、 Etag:用来验证网页的有效性。 Expires、 Cache-control:用来控制缓存的失效日期。 Age 、 Vary等 其中 1,优先级别:EtagLast-Modified Cache-control Expires 2,Cache-control:public 此指令优先于高速缓存采用的任何默认策略 3,对于一般的纯静态页面(html、gif、jpg、css、js)会有Last-Modified信息, 而不会在响应头添加Expires字段。 与缓存相关的HTTP头 协议头名称说明 Cache-control 在http/1.1中新增的标头,指定请求和响应遵循的缓存机 制,对高速缓存进行控制。对于我们cdn节点来说,这个 是最重要的标头,我们节点的默认高速缓存策略都必须服 从它。Cache-control标头分为高速缓存控制请求指令和 高速缓存控制响应指令。 Expires 源服务器利用这个标头,指出在这个标头的时间之后,资 源就应当过期并且失效。在Expires标头所指定的日期之 后,就不能再高速缓存响应。 Age 服务器用Age标头指出响应是多久以前在原始服务器生成 的。对于我们的cdn节点来说,这个值就是我们节点上缓 存的资源被验证开始,一直到现在所经历的时间。我们的 节点在响应最终用户的时候,必须生成Age头。(最终用 户浏览器缓存时间=cache-control中指定的过期时间- age。) 与缓存相关的HTTP头 协议头名称说明 Last-Modified 文档的最后改动时间。客户可以通过If-Modified-Since 请求头提供一个日期,该请求将被视为一个条件GET, 只有改动时间迟于指定时间的文档才会返回,否则返回 一个304(NotModified)状态。Last-Modified也可用 setDateHeader方法来设置。 Etag 又称为实体标签,它和Last-Modified配合使用,通过让 客户端浏览器缓存部分数据,从而达到减少服务器压力 的另外一种途径。ETag 标头是特定资源版本的唯一标识 符。它由客户端用来验证客户端缓存的内容,以避免再 次请求该内容。 Vary 服务器使用响应的标头字段“Vary”来表明响应实体是服 务器端根据具体的请求而从不同版本的有效响应缓存中 选择出的最合适的响应。 “Vary”标头中列出的字段名称 取自请求标头集合。 Cache-control请求指令 指令简介 No-cache强制向源服务器进行验证 Only-if-cached只从高速缓存(cdn节点)获取资源 No-store不允许高速缓存保存请求、响应 Max-age响应的存活期限不能大于此值 Max-stale允许过期的响应,但是过期时间不可长于这里指定的值 Min-fresh至少在这里指定的值的期限内,响应应保持最新状态 No-transform代理不能更改媒体类型 扩展权标代表新的请求指令的新权标 Cache-control响应指令 指令简介 Public允许在任何地方高速缓存响应 Private对于特定的用户不响应 No-store不允许高速缓存保存响应、请求 No-cache在事先没有重新验证的情况下,不得使用高速缓存的内容 No-transform代理不得更改媒体类型 Must-revalidate可以高速缓存,但是必须进行重验证,查看是否过期 Max-age响应的存活期限不能大于此值 扩展权标代表新的响应指令的新权标 缓存建议 内容不能缓存的,建议使用cache-control:no-store指 令。 只是

温馨提示

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

评论

0/150

提交评论