HTTP知识普及系列:基于HTTP的功能追加协议

  1. SPDY的开发目标旨在解决HTTP的性能瓶颈,缩短Web页面的加载时间。
  2. HTTP的瓶颈
    1. 一条连接上只可发送一个请求。
    2. 请求只能从客户端开始。客户端不可以接收除响应以外的指令。
    3. 请求/响应未经压缩就发送。首部信息越多延迟就越大。
    4. 发送冗长的首部。每次互相发送相同的首部造成浪费较多。
    5. 可任意选择数据压缩格式。非强制压缩发送。
  3. Ajax是一种有效利用JavaScript和DOM的操作,以达到局部Web页面替换加载的异步通信手段。(异步加载)
  4. Comet,一旦服务器端有内容更新了,Comet不会让请求等待,而是直接给客户端返回响应。这是一种通过延迟应答,模拟实现服务器端向客户端推送的功能。
  5. SPDY没有完全改写成HTTP协议,而是在TCP/IP的应用层与运输成之间通过新加会话层的形式运作。同时,考虑到安全性问题,SPDY规定通信中使用SSL。
  6. 使用SPDY后,HTTP协议额外获得以下功能。
    1. 多路复用流,通过单一的TCP链接,可以无限制处理多个HTTP请求。
    2. 赋予请求优先级,SPDY不仅可以无限制地并发处理请求,还可以给请求逐个分配优先级顺序。
    3. 压缩HTTP首部,压缩HTTP请求和响应的首部。
    4. 推送功能,支持服务器主动向客户端推送数据的功能。
    5. 服务器提示功能,服务器可以主动提示客户端请求所需的资源。
  7. WebSocket,Web浏览器和Web服务器之间的全双工通信标准。
    1. 推送功能,支持由服务器向客户端推送数据的推送功能。
    2. 减少通信量,只要建立起WebSocket连接,就希望一直保持连接状态
    3. 握手请求,为了实现WebSocket通信,需要用到HTTP的Upgrade首部字段,告知服务器通信协议发生改变,以达到握手的目的。
    4. 握手响应,对于之前的请求,返回状态码101 Switching Protocols的响应。
  8. HTTP/2.0,其目标是改善用户在使用Web时的速度体验。
    1. SPDY
    2. HTTP Speed + Mobility
    3. Network-Friendly HTTP Upgrade
  9. WebDAV是一个可对Web服务器上的内容直接进行文件复制、编辑等操作的分布式文件系统。
    1. 概念
      1. 集合,是一种统一管理多个资源的概念,以集合为单位可进行各种操作。也可以实现类似集合的集合这样叠加。
      2. 资源,把文件或者集合称为资源。
      3. 属性,定义资源的属性。定义以“名称=值”的格式执行。
      4. 锁,把文件设置成无法编辑的状态。多人同时编辑时,可防止在同一时间进行内容写入。
    2. 新方法
      1. PROPFIND,获取属性
      2. PROPPATCH,修改属性
      3. MKCOL,创建集合
      4. COPY,复制资源及属性
      5. MOVE,移动资源
      6. LOCK,资源加锁
      7. UNLOCK,资源解锁
    3. 状态码
      1. 102 Processing:可正常处理请求但是目前是处理中状态
      2. 207 Multi-Status:存在多种状态
      3. 422 Unprocessible Entity:格式正确,内容有误
      4. 423 Locked:资源已被加锁
      5. 424 Failed Dependency:处理与某请求关联的请求失败,因此不再维持依赖关系
      6. 507 Insufficient Storage:保存空间不足
posted @ 2016-05-15 13:25  为了生活而学习  阅读(329)  评论(0编辑  收藏  举报