什么是SPDY?

SPDY(发音同“speedy”)是Google开发的一种基于HTTP的通信协议,于2009年发布。其主要目的是提升网页加载速度,以适应日益丰富的Web内容。SPDY并未更改HTTP/1.1定义的方法或标头,而是重新定义了会话协议,以实现其性能目标。

SPDY最显著的特点是能够通过单个TCP连接同时处理多个通信,从而优化连接资源并缩短响应时间。在SPDY中,一系列请求和响应交互称为流。通过在TLS连接之上添加会话层,可在单个SPDY连接中同时保持多个流处于打开状态,从而实现并发通信。

流不仅可以由客户端发起,也可以由服务器发起,从而支持服务器推送功能。这样,服务器无需等待请求即可主动向客户端发送内容,并通过预加载内容缩短响应时间。此外,SPDY采用二进制编码和标头压缩来减少传输的数据量,进一步提升速度。

SPDY的另一项重要特性是与TLS集成,从而支持自动选择协议。例如,当支持SPDY的服务器与不兼容SPDY的浏览器通信时,服务器会自动回退到HTTP。由于应用层语义(例如方法和标头)保持不变,因此无需修改Web应用,可确保在过渡到SPDY期间实现无缝兼容。不过,由于SPDY以集成TLS为前提,因此必须使用HTTPS。

SPDY的功能已纳入HTTP/2规范。该规范由IETF于2015年5月完成标准化并发布。如今,许多Web浏览器都支持HTTP/2。SPDY的开发者Google于2016年2月11日宣布,Chrome将于2016年5月15日终止对SPDY的支持。SPDY曾获得Web浏览器的广泛支持,并应用于Google等主要网站,但现代Web技术目前的重点已转向HTTP/2。