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]. 
  2. Google Permissions: Guidelines for Third Party Use of Google Brand Features. Google. 
  3. SPDY Protocol. [2012-02-08]. 
  4. SPDY on Google servers?. 
  5. 5.0 5.1 IE11 SPDY/3 confirmed. 2013-06-25 [2013-06-25]. 
  6. Google準備淘汰SPDY改採HTTP/2. iThome. 2015-02-10.  參數|newspaper=與模板{{cite web}}不匹配(建議改用{{cite news}}|website=) (幫助)
  7. A 2x Faster Web. Official Google Chromium Blog. 2009-11-11 [2009-11-13]. 
  8. Iljitsch van Beijnum. SPDY: Google wants to speed up the web by ditching HTTP. Ars Technica. 2009-11-12 [2009-11-13]. 
  9. Mirko Lindner. Google stellt HTTP-Alternative SPDY vor. 13 November 2009 [2011-10-21]. (德文)
  10. Chromium SPDY client implementation. [2012-03-10]. 
  11. Chromium: SPDY proxy examples. [2012-03-10]. 
  12. Mozilla Bug 528288 - Implement SPDY protocol. 
  13. Firefox中鍵入about:config,查找network.http.spdy.enabled並設置為true即可啟用該功能。
  14. Mozilla Bug 724563. [2012-03-10]. 
  15. Chromium SPDY client implementation .
  16. Chromium: SPDY proxy examples .
  17. Opera 12.10 Changelog. [2012-11-07]. 
  18. Chris Bentzel; Bence Béky. Hello HTTP/2, Goodbye SPDY. Chromium Blog. 2015-02-09 [2017-07-01]. 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. TL;DR: Support for HTTP/2 is widespread enough that SPDY/3.1 support can be dropped. 
  20. 存档副本. [2017-07-01].