又拍云再放大招,CDN 同时支持 HTTP/2 和 SPDY/3.1 协议

  • UPYUN

2016 年 6 月 12 日

话题:CDN语言 & 开发架构

任何新标准的普及,都离不开业界的共同努力。近日,又拍云宣布其 CDN 产品全面支持 HTTP/2 协议,减少页面加载时的拥堵现象,降低服务器及网络负载,带来更快的访问体验。不仅如此,又拍云 CDN 加速同时兼容 SPDY/3.1 协议(即原来的旧版本协议),帮助客户平稳过度到 HTTP/2(HTTP 2.0)。

当前互联网传输多采用 HTTP 协议,这也是几十年来最广泛使用的网络传输协议,然而由于传统 HTTP 采用明文,完全开放的编码缺少加解密功能,很容易遭受窃取、篡改等安全威胁。尤其涉及在线交易的网站,遭遇攻击如同家常便饭。HTTPS 是个不错的选择,不仅向下兼容全部 HTTP 协议,其传输过程全程加解密,相当于增加了一层 SSL/TSL 分层协议的 HTTP,让访问更加安全。但 HTTPS 协议推进的速度却并不乐观,由于增加了加密解密的环节,需要多次计算和交互,访问速度将受到极大的影响。

HTTP/2 将极大地改善这一问题。HTTP/2 发布于 2015 年 5 月,是 HTTP 1.1 协议被采用后,时隔 16 年的首次更新。通过多路复用,二进制传输,使用 HPACK 压缩头部信息,服务端 Push 的方式,从协议层面消除了传统 HTTP 的一些不足和缺陷,大幅度提高网页载入的速度。

HTTP/1.1 通过增加到每个主机的最大连接数来提高性能,而 SPDY 和 HTTP/2 则是通过使用多路复用技术在一个单独的 TCP 和 SSL 连接上支持并发,通过在一个连接上一次性发送多个请求来发送或接收数据,从而带来更佳的访问效率。

举例来说,在 HTTP/1.1 下,每一次访问,都需要麻麻(服务器)派出拿着快递(信息)的宝宝前往召唤他的 A 叔叔(访问客户端),到 A 叔叔那里交换收条再回到麻麻身边,然后再拿着新的快递再一次奔向客户端,直到快递送尽。为了增加效率,HTTP/1.1 的麻麻只得同时派出好多宝宝,分别带着不同的快递送到 A 叔叔手里。而 HTTP/2 下的宝宝身强力壮,麻麻可以采用多路复用的方式,一次性把要给 A 叔叔的快递都交给一个宝宝派送,因此既省时又高效。

据了解,又拍云 CDN 加速已支持 HTTPS,通过自定义 SSL 服务默认开启了对 SPDY/3.1、OCSP Stapling 的支持,SPDY 协议通过对请求进行压缩、优先级排序和多路复用等方式,缩减网页加载时间,经内部测算,可以减少约 30% 的访问时延。此次又拍云全面升级 HTTP/2,通过又拍云专用补丁,保留了对 SPDY/3.1 的兼容支持。

HTTP/2 源自于 SPDY,却和 SPDY 有很大不同。首先,SPDY 强制使用 HTTPS,而 HTTP/2 支持明文 HTTP 传输,实现向下兼容。此外,对消息头的压缩传输,SPDY 采用的 DELEFT 算法,而 HTTP/2 对消息头采用 HPACK 压缩传输,能够节省消息头占用的网络的流量。减少每次请求所携带的大量冗余头信息,避免带宽资源的浪费。 继续拿刚刚送快递的宝宝举例子,当宝宝拿着很多快递箱子送去 A 叔叔处,无论装了多少东西,快递的箱子都是一样大的,因此宝宝需要一辆大货车来装。通过 HTTP/2 下,麻麻机智的 HPACK 算法对快递箱进行压缩,将箱子压缩到最小,由此宝宝就可以轻装上阵,一辆小车带上所有快递,不用遭受堵车风险。

页面加载时间是一个比较重要的性能指标,测试显示,原生 HTTPS 页面由于不支持头信息压缩,并且缺少所需的额外 TCP 连接和 SSL 握手,所需的时间相对较长,HTTP/2 协议下加载时间优于 SPDY,页面越复杂,三者差距会更明显。又拍云支持多种协议下的 CDN 加速,在新的 HTTP/2 协议下,带来更高效、快捷的加速体验。同时又拍云不放弃任何传统协议方式,基于任何协议的网站都力争交出最优最快的访问体验。

今天的 HTTP/2 也是一样,新版协议再好仍需要业界共同锤炼,逐年累月的迭代才能普及。又拍云愿迈出 HTTP/2 的第一步,不断打磨 CDN 产品,做好下一代互联网繁荣的基石。

CDN语言 & 开发架构