SPDY

SPDY

SPDY(讀作“SPeeDY”)是Google開發的基於TCP的會話層協定,用以最小化網路延遲,提升網路速度,最佳化用戶的網路使用體驗。SPDY並不是一種用於替代HTTP的協定,而是對HTTP協定的增強。新協定的功能包括數據流的多路復用、請求優先權以及HTTP報頭壓縮。谷歌表示,引入SPDY協定後,在實驗室測試中頁面載入速度比原先快64%。

基本介紹

  • 中文名:spdy協定
  • 外文名:spdy
  • 讀作:SPeeDY
  • 開發公司Google
功能,原理,基本特徵,高級特徵,關係,瀏覽器支持,取代,

功能

定位
  • 將頁面載入時間減少50%。
  • 最大限度地減少部署的複雜性。SPDY使用TCP作為傳輸層,因此無需改變現有的網路設施。
  • 避免網站開發者改動內容。 支持SPDY唯一需要變化的是客戶端代理和Web伺服器應用程式。
具體技術目標
  • 單個TCP連線支持並發的HTTP請求。
  • 壓縮報頭和去掉不必要的頭部來減少當前HTTP使用的頻寬。
  • 定義一個容易實現,在伺服器端高效率的協定。通過減少邊緣情況、定義易解析的訊息格式來減少HTTP的複雜性。
  • 強制使用SSL,讓SSL協定在現存的網路設施下有更好的安全性和兼容性。
  • 允許伺服器在需要時發起對客戶端的連線並推送數據。

原理

在SSL層上增加一個SPDY會話層,以在一個TCP連線中實現並發流。
SSL層上增加SPDY會話層SSL層上增加SPDY會話層
通常的HTTP GET和POST格式仍然是一樣的;然而SPDY為編碼和傳輸數據設計了一個新的幀格式。
流是雙向的,可以在客戶端和伺服器端啟動。
SPDY旨在通過基本(始終啟用)和高級(可選啟用)功能實現更低的延遲。

基本特徵

  • 復用流:SPDY允許在一個連線上無限制並發流。因為請求在一個通道上,TCP效率更高:更少的網路連線,發出更少更密集的數據包。
  • 請求優先權:雖然無限的並發流解決了序列化的問題,但他們引入了另一個問題:如果頻寬通道受限制, 客戶端可能會因防止堵塞通道而阻止請求。為了克服這個問題,SPDY實行請求優先權:客戶端從伺服器端請求它希望的項目數量,並為每個請求分配一個優先權。這可以防止在網路通道被非關鍵資源堵塞時,高優先權的請求被掛起。
  • HTTP報頭壓縮:SPDY壓縮請求和回響HTTP報頭,從而減少傳輸的數據包數量和位元組數。

高級特徵

SPDY提供了高級特徵:伺服器啟動流。伺服器啟動流能用來分發內容到客戶端,而不需要客戶端發起請求。此選項可以由Web開發人員通過如下兩種方法配置:
  1. Server push:SPDY通過X-Associated-Content頭試驗了伺服器推送數據給客戶端的選項。這個頭告訴客戶端伺服器將在客戶端請求資源之前,推送資源給它。對於初始頁面下載(例如用戶初次訪問這個網站),這樣能大大提升用戶體驗。
  2. Server hint:相對於自動推送資源到客戶端,在伺服器事先知道客戶端需要的資源的情況下,伺服器使用X-Subresources頭建議客戶端請求特殊的資源。但是,伺服器仍然在傳送內容前等待客戶請求。通過窄帶,這個選項能減少一個客戶端發現它所需要的資源的數百毫秒,可能更適合於非初始頁面載入。

關係

SPDY並不用於取代HTTP/1.x,它只是修改了HTTP/1.x的請求與應答在網路上傳輸的方式;這意味著只需增加一個SPDY傳輸層,現有的所有服務端套用均不用做任何修改。 當使用SPDY的方式傳輸,HTTP請求會被處理、標記簡化和壓縮。比如,每一個SPDY端點會持續跟蹤每一個在之前的請求中已經傳送的HTTP報文頭部,從而避免重複傳送還未改變的頭部。而還未傳送的報文的數據部分將在被壓縮後被傳送。
SPDY協定類似於HTTP,但旨在縮短網頁的載入時間和提高安全性。SPDY協定通過壓縮、多路復用和優先權來縮短載入時間。

瀏覽器支持

Google Chrome和Chromium已經支持SPDY。
Mozilla Firefox自11.0開始內嵌支持SPDY。從Firefox 13開始默認開啟對SPDY的支持。
Opera從12.10開始支持SPDY。
Internet Explorer 11開始支持SPDY。
注意:由於SPDY協定已被HTTP/2協定取代,上述瀏覽器的新版本可能不再支持SPDY協定。

取代

網際網路工程任務組IETF)對谷歌提出的SPDY協定進行了標準化,於2015年5推出了類似於SPDY協定的 HTTP 2.0 協定標準(簡稱HTTP/2)。谷歌因此宣布放棄對SPDY協定的支持,轉而支持HTTP/2。谷歌稱,計畫於 2016 年初在 Chrome 中移除 SPDY,並將為Chrome 40 添加 HTTP/2 協定支持。
此外,著名的開源HTTP伺服器軟體 Nginx 也於2015年9月移除了對SPDY的支持,轉而支持HTTP/2。
鑒於此,未來會有越來越多的瀏覽器和Web伺服器選擇支持HTTP/2而非SPDY,以前支持SPDY的瀏覽器和Web伺服器也會通過升級取消對SPDY的支持轉為支持HTTP/2。
因此,建議新的網站不要部署SPDY,轉為部署HTTP/2。舊有的SPDY部署也應儘快轉移至HTTP/2,以符合瀏覽器對新HTTP標準的支持。

相關詞條

熱門詞條

聯絡我們