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:保存空间不足
时间: 2024-08-29 03:09:00

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

HTTP知识普及系列:确保Web安全的HTTPS

HTTP的缺点 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 任何人都可发起请求 查明对手证书 无法证明报文的完整性,所以有可能已遭篡改 接收到的内容可能有误 用MD5和SHA-1等散列值校验的放阿飞,以及用来确认文件的数字签名方法 HTTPS是指HTTP与SSL组合使用. HTTP+加密+认证+完整性保护=HTTPS HTTPS并非是应用层的一种新协议,知识HTTP通信接口部分用SSL和TLS协议代替而已. SSL是当今世界上应用最广泛的网络安全技术. SS

HTTP知识普及系列:与HTTP协作的Web服务器

HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点. 相同IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的Web网站,因此在发送HTTP请求时,必须在Host首部内完整指定主机或域名的URL HTTP通信时,除客户端和服务器以外,还有一些用于通信数据转发的应用程序,例如代理.网关和隧道. 代理是一种转发功能的应用程序,它扮演了位于服务端和客户端“中间人”的角色. 网关是转发其他服务器通信数据的服务器. 隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序

HTTP知识普及系列:HTTP报文内的HTTP信息

HTTP报文是用于HTTP协议交互的信息. 请求报文和响应报文的结构: 请求行 状态行 首部字段 通用首部 请求首部 响应首部 实体首部 其他 常用内容编码的几种方式 gzip(GNU zip) compress (UNIX系统的标准压缩) deflate (zlib) identity (不进行编码) 把实体主体分块的功能成为分块传输编码,每一块都会用十六进制来标记块的大小,实体主体的最后一块会使用“0(CR+LF)” 获取部分内容的范围请求,要实现该功能需要指定下载的实体范围.如果服务器无法

HTTP知识普及系列:Web攻击技术

HTTP协议本身并不存在安全性问题,应用HTTP协议的服务器和客户端以及运行在服务器上的Web应用等资源才是攻击的目标. Web网站使几乎都用会话管理.加密处理等安全性方面的功能.而HTTP协议本身不具备这些功能. 在HTTP请求报文内加载攻击代码能对Web应用发起攻击. 针对Web的攻击模式 主动攻击是指攻击者通过直接访问应用,把攻击代码传入的攻击模式. 被动攻击是指利用全套策略执行攻击代码的攻击模式. 实施Web应用的安全策略可大致分为以下两部分. 客户端验证 Web应用端(服务器端)验证

HTTP知识普及系列:确认访问用户身份的认证

认证:密码.动态令牌.数字证书.生物认证.IC卡. HTTP所使用的认证方式 BASIC认证(基本认证),BASIC认证是从HTTP/1.0就定义的认证方式.Base64编码方式. DIGEST认证(摘要认证),DIGEST认证同样适用质询/响应的方式,但不会想BASIC认证那样直接发送明文密码. SSL客户端认证,SSL客户端认证是借由HTTPS的客户端证书完成认证的方式.凭借客户端证书认证,服务器可确认访问是否来自己登陆的客户端.SSL客户端认证不会仅依靠证书完成认证,一般会和基于表单认证组

HTTP知识普及系列:简单的HTTP协议

请求报文是由请求方法.请求URI.协议版本.可选的请求首部字段和内容实体构成的. 响应报文基本上由协议版本.状态码.用以解释状态码的原因短语.可选的相应首部字段以及实体主体构成. HTTP是一种不保存状态,即无状态协议. 告知服务器意图的HTTP方法 GET方法用来请求访问已被URI识别的资源: POST方法用来传输实体的主体: PUT方法用来传输文件: HEAD方法和GET方法一样,只是不返回报文主体部分: DELETE方法用来删除文件: OPTIONS方法用来查询针对请求URI指定的资源支持

HTTP知识普及系列:Web及网络基础

根据web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源等信息,从而显示出Web页面. Web使用一种名为HTTP(超文本传输协议)的协议作为规范,完成从客户端到服务器端等一系列运作流程.而协议是指规则的约定. WWW(world wide web)万维网. 3项WWW构建技术: 把SGML(标准通用标记语言)作为页面的文本标记语言的HTML: 作为文档传递协议的HTTP: 指定文档所在地址的URL. 目前主流的HTTP协议版本是1997年1月公布的HTTP/1.1. TC

HTTP知识普及系列:HTTP返回状态码

状态码 1XX 信息性状态码 接受的请求正在处理 2XX 成功状态码 请求正常处理完毕 3XX 重定向状态码 需要进行附加操作以完成请求 4XX 客户端错误状态码 服务器无法处理请求 5XX 服务器端错误状态码 服务器处理请求出错 2XX 相应结果表明请求被正常处理了 200 OK 表示从客户端发来的请求在服务器端被正常处理了: 204 No Content 该状态码代表服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主体部分.也不允许返回任何实体的主体. 206 Partial Co

HTTP知识普及系列:构建Web内容的技术

HTTP是为了发送Web上的超文本而开发的标记语言. CSS 层叠样式表,可以指定如何展现HTML内的各种元素,属于样式表标准之一. 动态HTML是指使用客户端脚本语言将静态的HTML内容变成动态的技术的总称. 动态HTML技术是通过调用客户端脚本语言JavaScrpit,实现对HTML的Web页面动态改造. DOM是一操作HTML文档和XML文档的API. CGI是指Web服务器在接收到客户端发送过来的请求后转发给程序的一组机制. Servlet是一种能在服务器上创建动态内容的程序,其运行在与