SPDY (發音如英語:speedy ),一種開放 的網路傳輸協定 ,由Google 开发,用來傳送網頁內容。基于传输控制协议 (TCP)的应用层 协议。SPDY也就是HTTP/2 的前身。Google最早是在Chromium 中提出的SPDY协议[ 1] 。被用于Google Chrome 浏览器中来访问Google的SSL加密服务。SPDY并不是首字母缩略字 ,而仅仅是"speedy"的缩写。SPDY现为Google的商标 [ 2] 。HTTP/2的關鍵功能主要來自SPDY技術,換言之,SPDY的成果被採納而最終演變為HTTP/2。
SPDY并不是一个标准协议,但SPDY的开发组推动SPDY成为正式标准,而成为了互联网草案 [ 3] 。後來SPDY未能單獨成為正式標準,不過SPDY開發組的成員全程參與了HTTP/2 的制定過程。Google Chrome [ 4] 、Mozilla Firefox 、Safari 、Opera 、Internet Explorer [ 5] 等主要瀏覽器均已經或曾經支持SPDY协议。SPDY协议类似于HTTP ,但旨在缩短网页 的加载时间和提高安全性。SPDY协议通过压缩、多路复用 和优先级来缩短加载时间[ 1] 。HTTP/2協議完成之後,Google認為SPDY可以功成身退了[ 6] ,於是最終Google Chrome淘汰對SPDY的支援,全面改為採用HTTP/2。
设计
设计SPDY的目的在于降低网页的加载时间[ 7] 。通过优先级和多路复用 ,SPDY使得只需要建立一个TCP 连接即可传送网页内容及图片等资源[ 1] [ 8] 。SPDY中广泛应用了TLS 加密,传输内容也均以gzip 或DEFLATE 格式压缩(与HTTP不同,HTTP的头部并不会被压缩)。另外,除了像HTTP的网页服务器被动的等待浏览器发起请求外,SPDY的网页服务器还可以主动推送内容[ 9] 。
与HTTP的关系
SPDY并不用于取代HTTP,它只是修改了HTTP的请求与应答在网络上传输的方式[ 1] ;这意味着只需增加一个SPDY传输层,现有的所有服务端应用均不用做任何修改。
当使用SPDY的方式传输,HTTP请求会被处理、标记简化和压缩。比如,每一个SPDY端点会持续跟踪每一个在之前的请求中已经发送的HTTP报文头部,从而避免重复发送还未改变的头部。而还未发送的报文的数据部分将在被压缩后被发送。
浏览器支持
Chrome 移除 SPDY
2015年9月,Google 宣布了计划,移除对SPDY的支持,改支援HTTP/2[ 18] 。此更動在Chrome 51中生效。[ 19] [ 20]
参见
参考文献