图解HTTP网络(三)

第七章

HTTP的缺点

  • 通信使用明文可能会被窃听
    • TCP/IP是可能被窃听的网络
    • 加密处理防止被窃听
  • 不验证通信方的身份就可能遭遇伪装
  • 无法证明报文的完整性,可能已遭篡改
  • HTTP加上加密处理和认证以及完整性保护后即是HTTPS
  • HTTPS是身披SSL外壳的HTTP
    • HTTP通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)代替
  • 相互交换密钥的公开密钥加密技术
    • SSL采用一种叫做公开密钥加密(Public-key-cryptography)的加密处理方式
  • 证明公开密钥正确性的证书
    • 可以使用由数字证书认证机构(CA, Certificate Authority)和其相关机关颁发的公开密钥证书

HTTPS的安全通信机制

  • 报文中包含客户端支持的SSL的指定版本、加密组件(Cipher Suite)列表(所使用的加密算法以及密钥长度等)
  • 客户端一样,在报文中包含SSL版本以及加密组件
  • 服务器发送Certificate报文。报文中包含公开密钥证书
  • 服务器发送Server Hello Done报文通知客户端,最初阶段的SSL握手协商部分结束
  • 客户端以Client Key Exchange报文作为回应。报文中包含通信加密中使用的一种被称为Pre-master secret的随机密码串
  • 客户端继续发送Change Cipher Spec报文。该报文会提示服务器,在此报文之后的通信会采用Pre-master secret密钥加密
  • 该报文包含连接至今全部报文的整体校验值。这次握手协商是否能够成功,要以服务器是否能够正确解密该报文作为判定标准
  • 应用层发送数据时会附加一种叫做MAC(Message Authentication Code)的报文摘要。MAC能够查知报文是否遭到篡改,从而保护报文的完整性
  • HTTPS也存在一些问题,那就是当使用SSL时,它的处理速度会变慢

第八章

BASIC认证

DIGEST认证

  • DIGEST认证同样使用质询、响应的方式
  • 所谓质询响应方式是指,一开始一方会先发送认证要求给另一方,接着使用从另一方那接收到的质询码计算生成响应码。最后将响应码返回给对方进行认证的方式

SSL客户端认证

  • SSL客户端认证的认证步骤
  • SSL客户端认证采用双因素认证
    • SSL客户端认证不会仅依靠证书完成认证,一般会和基于表单认证组合形成一种双因素认证
  • SSL客户端认证必要的费用

基于表单认证

  • 客户端会向服务器上的Web应用程序发送登录信息(Credential),按登录信息的验证结果验证
  • 认证多半为基于表单认证
  • Session管理及Cookie应用

第九章

基于HTTP的协议

消除HTTP瓶颈的SPDY

  • HTTP的瓶颈

    • 一个连接上只可发送一个请求
    • 请求只能从客户端开始。客户端不可以接收除响应以外的指令
    • 请求、响应首部未经压缩就发送。首部信息越多延迟越大
    • 发送冗长的首部。每次互相发送相同的首部造成的浪费较多
  • SPDY的设计与功能

    • SPDY没有完全改写HTTP协议,而是在TCP/IP的应用层与传输层之间通过新加会话层的形式运作。同时,考虑到安全性问题,SPDY规定通信中使用SSL
    • 多路复用流
      • 通过单一的TCP连接,可以无限制处理多个HTTP请求。所有请求的处理都在一条TCP连接上完成,因此TCP的处理效率得到提高
    • 赋予请求优先级
      • 可以给请求逐个分配优先级顺序。这样主要是为了在发送多个请求时,解决因带宽低而导致响应变慢的问题
    • 压缩HTTP首部
      • 通信产生的数据包数量和发送的字节数变少
    • 推送功能
      • 支持服务器主动向客户端推送数据的功能
    • 服务器提示功能
      • 服务器可以主动提示客户端请求所需的资源
  • SPDY是否消除了Web瓶颈

使用浏览器进行全双工通信的WebSocket

  • WebSocket的设计与功能
    • 即Web浏览器与Web服务器之间全双工通信标准
  • WebSocket协议
    • 推送功能
      • 支持由服务器向客户端推送数据的推送功能
    • 减少通信量
      • 只要建立起WebSocket连接,就希望一直保持连接状态

HTTP/2.0

Web服务器管理文件的WebDA V

  • 是一个可对Web服务器上的内容直接进行文件复制、编辑等操作的分布式文件系统
  • 扩展HTTP/1.1的WebDA V
  • WebDA V内新增的方法及状态码

图解HTTP网络(三)

上一篇:解析:外包软件项目团队构建


下一篇:图解HTTP网络(二)