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].