SPDY

網際網路协议套組
應用層
傳輸層
網路層
連結層

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 FirefoxSafariOperaInternet 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加密,传输内容也均以gzipDEFLATE格式压缩(与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]

参见

参考文献

  1. ^ 1.0 1.1 1.2 1.3 SPDY: An experimental protocol for a faster web. Chromium Developer Documentation. [2009-11-13]. (原始内容存档于2018-02-03). 
  2. ^ Google Permissions: Guidelines for Third Party Use of Google Brand Features. Google. [September 30, 2011]. (原始内容存档于2020-05-01). 
  3. ^ SPDY Protocol. [2012-02-08]. (原始内容存档于2021-04-17). 
  4. ^ SPDY on Google servers?. [2012-02-28]. (原始内容存档于2013-06-19). 
  5. ^ 5.0 5.1 IE11 SPDY/3 confirmed. 2013-06-25 [2013-06-25]. (原始内容存档于2013-07-01). 
  6. ^ Google準備淘汰SPDY改採HTTP/2. iThome. 2015-02-10 [2016-10-21]. (原始内容存档于2021-01-18).  参数|newspaper=与模板{{cite web}}不匹配(建议改用{{cite news}}|website=) (帮助)
  7. ^ A 2x Faster Web. Official Google Chromium Blog. 2009-11-11 [2009-11-13]. (原始内容存档于2012-04-10). 
  8. ^ Iljitsch van Beijnum. SPDY: Google wants to speed up the web by ditching HTTP. Ars Technica. 2009-11-12 [2009-11-13]. (原始内容存档于2012-04-26). 
  9. ^ Mirko Lindner. Google stellt HTTP-Alternative SPDY vor. 13 November 2009 [2011-10-21]. (原始内容存档于2009-11-16). (德文)
  10. ^ Chromium SPDY client implementation. [2012-03-10]. (原始内容存档于2013-06-24). 
  11. ^ Chromium: SPDY proxy examples. [2012-03-10]. (原始内容存档于2010-12-23). 
  12. ^ Mozilla Bug 528288 - Implement SPDY protocol. [2012-03-10]. (原始内容存档于2012-11-06). 
  13. ^ Firefox中键入about:config,查找network.http.spdy.enabled并设置为true即可启用该功能。
  14. ^ Mozilla Bug 724563. [2012-03-10]. (原始内容存档于2013-08-01). 
  15. ^ Chromium SPDY client implementation (页面存档备份,存于互联网档案馆).
  16. ^ Chromium: SPDY proxy examples (页面存档备份,存于互联网档案馆).
  17. ^ Opera 12.10 Changelog. [2012-11-07]. (原始内容存档于2013-07-31). 
  18. ^ Chris Bentzel; Bence Béky. Hello HTTP/2, Goodbye SPDY. Chromium Blog. 2015-02-09 [2017-07-01]. (原始内容存档于2017-03-08). Update: To better align with Chrome's release cycle, SPDY and NPN support will be removed with the release of Chrome 51. 
  19. ^ API Deprecations and Removals in Chrome 51. [2017-07-01]. (原始内容存档于2017-02-01). TL;DR: Support for HTTP/2 is widespread enough that SPDY/3.1 support can be dropped. 
  20. ^ 存档副本. [2017-07-01]. (原始内容存档于2017-04-24). 
特點
  • 广告拦截
  • 增强浏览英语Augmented browsing
  • 書籤
    • 小书签
    • 即时书签英语Features of Firefox#Live bookmarks
    • 智能书签英语Smart Bookmarks
  • 擴充功能
  • 安全英语Browser security
  • 同步
    • 比较英语Comparison of browser synchronizers
  • Cookie
  • 下载管理器
  • Favicon
  • 增量查找英语Incremental search
  • 插件
  • 无痕浏览
  • 分頁
  • 通用编辑按钮英语Universal Edit Button
網頁標準
协议
相關主題
 
電腦平台
Blink排版引擎
WebKit排版引擎
Gecko排版引擎
Trident排版引擎
混合排版引擎
其他排版引擎
  • NetSurf
  • abaco英语abaco (web browser)
  • Amaya
  • KidZui英语KidZui
  • Charon英语Charon (web browser)
  • Dillo
  • Gazelle
  • IBM Watson Explorer
  • Arachne英语Arachne (web browser)
  • Arena
  • IBM Home Page Reader
  • IBrowse
  • Links
  • Mosaic
  • Mothra英语Mothra (web browser)
  • NetPositive
  • 蒼月瀏覽器(26~)
純文字排版引擎
 
行動平台
Blink排版引擎
WebKit排版引擎
Gecko排版引擎
Trident排版引擎
其他
  • Blazer
  • ibisBrowser
  • NetFront
  • Obigo Browser
  • Skweezer
  • Skyfire
  • Teashark
  • ThunderHawk
  • uZard Web
  • Vision
  • WinWAP
  • Smooz日语Smooz
  • Galio
  • Deepfish
  • Iris浏览器
 
Gecko排版引擎
  • Kylo
Presto排版引擎
WebKit排版引擎
其他
刪除線格式為停止開發的項目