论文部分内容阅读
随着互联网的兴盛,单页面内资源数的持续增长开始暴露出产生于上世纪九十年代的HTTP在处理多资源页面加载上的一些限制和效率问题。在这样的背景下,谷歌推出了SPDY(音SPeeDY)协议,旨在加速网络,缩短页面加载时间。SPDY已在2012年11月份成为HTTPbis工作组的HTTP2.0草稿,预计将在2014年定案,提交IETF成为RFC标准。SPDY协议是本文研究的主体。本文首先分析了SPDY协议与HTTP的关系,明确SPDY协议的设计目标,然后分析了SPDY协议包含帧层和HTTP层的双层结构,涵盖了SPDY协议中帧、数据流、会话等概念;除此之外,讨论了SPDY协议的特性,包括基于SSL/TLS的安全连接、数据流多路复用单TCP连接、请求优先级、头文件压缩和服务端推送,分析并理解这些特性在缩短页面加载时间上的原理和实现。在SPDY协议的应用方面,本文在研究的基础上,给出了SPDY协议的应用最佳实践,覆盖了应用级别、SSL/TLS层和TCP层的一些推荐的应用方法及配置;并分析了SPDY代理在当前网络环境下作为客户端和网络应用服务器中间层,不仅能够通过在客户端与代理之间的主干网应用SPDY协议来实现对整个网络连接中绝大部分的加速,而且在原网络应用服务不通过SSL/TLS的情况下能够通过SPDY代理的SSL/TLS保证连接安全的优势。针对当前网络普遍存在的含有多域资源页面的网络应用,本文提出了结合Cache的SPDY反向代理应用模式设计,通过重写跨域资源URI到统一域,进一步减少SPDY连接的个数,充分利用SPDY协议的多路复用特性,提高了页面加载效率,而且通过引入Cache提高静态资源请求命中,有效的减少了不必要的往返时间(RTT),从而进一步缩短了页面加载时间。最后,通过设计和实现两组原型系统,对单域资源页面SPDY协议与HTTPS的性能和多域资源页面直接SPDY模式与SPDY反向代理模式的性能在10Mb和1Gb网络下进行了对比测试,测试结果表明,在页面含有50个资源的情况下,就页面加载时间来看,SPDY相比HTTPS有约40%-85%的提高,SPDY反向代理在直接SPDY模式的基础上进一步提高了17%左右,测试结果证明了SPDY及SPDY方向代理的有效性。