Welcome to Ray's Blog

Stay Hungry Stay Foolish - Steve Jobs

0%

SPDY知识笔记


SPDY 定义

  1. SPDY 是 Google 开发的基于传输控制协议(TCP)的应用层协议,开发组正在推动 SPDY 成为正式标准(目前为草案);
  2. SPDY 协议旨在通过压缩、多路复用和优先级来缩短网页的加载时间和强制使用 SSL 协议来提高安全性。

网络协议模型

  1. OSI 模型(OPEN SYSTEM INTERCONNECTION MODEL)是由国际标准化组织(ISO)提出来的模型:
  • 物理层:负责最后将信息编码成电流脉冲或者其他信号用于网上传输;
  • 数据链路层:通过物理网络链路供数据传输。不同的数据链路层定义了不同的网络和协议特征,其中包括物理编址、网络拓扑结构、错误校验、数据帧序列 以及流控;
  • 网络层:负责在源和点之间建立连接;
  • 传输层:向高层提供可靠的端到端的网络数据流服务(TCP/IP);
  • 会话层:建立、管理和中止表示层与实体之间的通信会话;
  • 表示层:供多种功能用于应用层数据编码和转化,以确保一个系统应用层发送的信息可以被另一个系统应用层识别;
  • 应用层:OSI 的应用层协议包括文件的传输、访问及管理协议、文件虚拟终端协议和公用管理系统信息等。eg.:HTTP(超文本传输协议)/HTTPS(HTTP+SSL),FTP(文件传输协议),POP3(邮局协议),SMTP(简单邮件传输协议),TELNET(远程终端协议)等
  1. TCP/IP 五层协议
    TCP/IP
  • 物理层
  • 数据链路层;
  • 网络层;
  • 传输层;
  • 应用层;

HTTP 协议的不足之处

  1. 单路连接,请求低效。单个 TCP 连接只对应一个 HTTP 请求,如果多个请求,必须通过多次 http 请求;
  2. HTTP 只允许由客户端主动发起请求,在预加载方面有限制;
  3. HTTP header 信息冗余。反复请求 HTTP 会造成不必要的信息重复发送;

SPDY 的有点

  1. 多路复用,请求优化。SPDY 规定一个 SPDY 连接内可以有无限个并行请求,即允许多个并发 HTTP 请求共用一个 TCP 会话。此外,SPDY 的多路复用可以设置优先级,设置不同资源的请求优先级,达到数据加载的更好效果。
  2. 支持服务器推送技术。服务器可以主动向客户端发起通信向客户端推送数据,满足数据的预加载。
  3. SPDY 压缩了 HTTP 请求头 header,使用 gzip 方式压缩信息,并舍掉一些不必要的信息,节省时间、流量和带宽;
  4. 安全性更好。强制使用 SSL 传输协议。