欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SPDY 是什么? 如何部署 SPDY?

 更新時間:2014年12月26日 14:33:39   投稿:mdxy-dxy  
SPDY 是 Google 開發(fā)的基于傳輸控制協(xié)議 (TCP) 的應(yīng)用層協(xié)議 ,開發(fā)組正在推動 SPDY 成為正式標(biāo)準(zhǔn)(現(xiàn)為互聯(lián)網(wǎng)草案)。SPDY 協(xié)議旨在通過壓縮、多路復(fù)用和優(yōu)先級來縮短網(wǎng)頁的加載時間和提高安全性

左邊是普通 HTTPS 加載,右邊是 SPDY 加載。是不是很神奇?

SPDY 是什么 ?

SPDY 是 Google 開發(fā)的基于傳輸控制協(xié)議 (TCP) 的應(yīng)用層協(xié)議 ,開發(fā)組正在推動 SPDY 成為正式標(biāo)準(zhǔn)(現(xiàn)為互聯(lián)網(wǎng)草案)。SPDY 協(xié)議旨在通過壓縮、多路復(fù)用和優(yōu)先級來縮短網(wǎng)頁的加載時間和提高安全性。(SPDY 是 Speedy 的昵音,意思是更快)

SPDY 與 HTTP 的關(guān)系

http-spdy

SPDY 協(xié)議只是在性能上對 HTTP 做了很大的優(yōu)化,其核心思想是盡量減少連接個數(shù),而對于 HTTP 的語義并沒有做太大的修改。具體來說是,SPDY 使用了 HTTP 的方法和頁眉,但是刪除了一些頭并重寫了 HTTP 中管理連接和數(shù)據(jù)轉(zhuǎn)移格式的部分,所以基本上是兼容 HTTP 的。

Google 在 SPDY 白皮書里表示要向協(xié)議棧下面滲透并替換掉傳輸層協(xié)議(TCP),但是因為這樣無論是部署起來還是實現(xiàn)起來暫時相當(dāng)困難,因此 Google 準(zhǔn)備先對應(yīng)用層協(xié)議 HTTP 進行改進,先在 SSL 之上增加一個會話層來實現(xiàn) SPDY 協(xié)議,而 HTTP 的 GET 和 POST 消息格式保持不變,即現(xiàn)有的所有服務(wù)端應(yīng)用均不用做任何修改。

因此在目前,SPDY 的目的是為了加強 HTTP,是對 HTTP 一個更好的實現(xiàn)和支持。至于未來 SPDY 得到廣泛應(yīng)用后會不會演一出貍貓換太子,替換掉 HTTP 并徹底顛覆整個 Internet 就是 Google 的事情了。

為什么要重新建立一個 SPDY ?

距離萬維網(wǎng)之父蒂姆·伯納斯-李發(fā)明并推動 HTTP 成為如今互聯(lián)網(wǎng)最流行的協(xié)議已經(jīng)過去十幾年了(現(xiàn)用 HTTP 1.1 規(guī)范也停滯了 13 年了),隨著現(xiàn)在 WEB 技術(shù)的飛速發(fā)展尤其是 HTML5 的不斷演進,包括 WebSockets 協(xié)議的出現(xiàn)以及當(dāng)前網(wǎng)絡(luò)環(huán)境的改變、傳輸內(nèi)容的變化,當(dāng)初的 HTTP 規(guī)范已經(jīng)逐漸無法滿足人們的需要了,HTTP 需要進一步發(fā)展,因此 HTTPbis 工作組已經(jīng)被組建并被授權(quán)考慮 HTTP 2.0 ,希望能解決掉目前 HTTP 所帶來的諸多限制。而 SPDY 正是 Google 在 HTTP 即將從 1.1 跨越到 2.0 之際推出的試圖成為下一代互聯(lián)網(wǎng)通信的協(xié)議,長期以來一直被認為是 HTTP 2.0 唯一可行選擇。

HTTP 協(xié)議的不足

1. 單路連接 請求低效

HTTP 協(xié)議的最大弊端就是每個 TCP 連接只能對應(yīng)一個 HTTP 請求,即每個 HTTP 連接只請求一個資源,瀏覽器只能通過建立多個連接來解決。此外在 HTTP 中對請求是嚴格的先入先出(FIFO)進行的,如果中間某個請求處理時間較長會阻塞后面的請求。

(注:雖然 HTTP pipelining 對連接請求做了改善,但復(fù)雜度增加很大,并未普及)

2. HTTP 只允許由客戶端主動發(fā)起請求

服務(wù)端只能等待客戶端發(fā)送一個請求,在可以滿足預(yù)加載的現(xiàn)狀是一種桎梏。

3. HTTP 頭冗余

HTTP 頭在同一個會話里是反復(fù)發(fā)送的,中間的冗余信息,比如 User-Agent、Host 等不需要重復(fù)發(fā)送的信息也在反復(fù)發(fā)送,浪費帶寬和資源。

SPDY 協(xié)議的優(yōu)點

1. 多路復(fù)用 請求優(yōu)化

SPDY 規(guī)定在一個 SPDY 連接內(nèi)可以有無限個并行請求,即允許多個并發(fā) HTTP 請求共用一個 TCP會話。這樣 SPDY 通過復(fù)用在單個 TCP 連接上的多次請求,而非為每個請求單獨開放連接,這樣只需建立一個 TCP 連接就可以傳送網(wǎng)頁上所有資源,不僅可以減少消息交互往返的時間還可以避免創(chuàng)建新連接造成的延遲,使得 TCP 的效率更高。

此外,SPDY 的多路復(fù)用可以設(shè)置優(yōu)先級,而不像傳統(tǒng) HTTP 那樣嚴格按照先入先出一個一個處理請求,它會選擇性的先傳輸 CSS 這樣更重要的資源,然后再傳輸網(wǎng)站圖標(biāo)之類不太重要的資源,可以避免讓非關(guān)鍵資源占用網(wǎng)絡(luò)通道的問題,提升 TCP 的性能。

2. 支持服務(wù)器推送技術(shù)

服務(wù)器可以主動向客戶端發(fā)起通信向客戶端推送數(shù)據(jù),這種預(yù)加載可以使用戶一直保持一個快速的網(wǎng)絡(luò)。

3. SPDY 壓縮了 HTTP 頭

舍棄掉了不必要的頭信息,經(jīng)過壓縮之后可以節(jié)省多余數(shù)據(jù)傳輸所帶來的等待時間和帶寬。

4. 強制使用 SSL 傳輸協(xié)議

Google 認為 Web 未來的發(fā)展方向必定是安全的網(wǎng)絡(luò)連接,全部請求 SSL 加密后,信息傳輸更加安全。

SPDY 協(xié)議的意義

按照 Google 的說法,SPDY 被創(chuàng)造出來的唯一目的就是讓 Web 更快(strive to make the whole web fast),其名字 SPDY(Speedy) 也似乎在暗示著這一點。那么 SPDY 的意義又在哪里呢?

1. 普通用戶:

對于使用者來說,隱藏在瀏覽器下面的 SPDY 相比 HTTP 沒有任何區(qū)別,但是我們可以感覺到 Google 服務(wù)在 Chrome 下異常的快,這就是 SPDY 的功勞了。此外網(wǎng)站信息傳輸加密后不用擔(dān)心信息被截取等,大大增加了安全性和保密性。

2. 前端人員:

對于前端工程師們來說,提升頁面效率是一件很重要的事情,目前大多采用像 CSS Sprites 等方法來優(yōu)化網(wǎng)站,對于因為頁面加載時每張圖片、icon 都請求一個連接甚至采用在不同頁面引用不同圖片來降低一個頁面內(nèi)圖片的請求數(shù)量。而現(xiàn)在有了 SPDY 的請求優(yōu)化可以將請求順序進行重排,這樣可以在很大程度上緩解頁面加載時圖片請求帶來的影響。例如像極客公園的報名頁面,如果報名用戶過多,例如極客公園2012年創(chuàng)新大會極客公園第 27 期長城會,可以很明顯的感覺出頭像的請求會拖累整體頁面加載變慢甚至變卡,相信對于這點,經(jīng)常上淘寶或刷微博的會深有體會,一旦網(wǎng)速稍微慢點就會出現(xiàn)頁面加載異常,還有像蘋果 App Store(除去服務(wù)器因為地區(qū)的延遲),豌豆莢這類應(yīng)用分發(fā)平臺上應(yīng)用圖標(biāo)刷新緩慢等,如下面這個視頻所示。

3. 運維人員:

SPDY 在降低連接數(shù)目的同時,還使得服務(wù)器上每個客戶端占用的資源也減少,從而可以釋放出更多內(nèi)存和 CPU 。此外 SPDY 綜合起來可以將瀏覽速度提升一倍,頁面加載延遲方面的改進達 64% 。

眾家支持的 SPDY 協(xié)議

如果你在使用 Chrome 瀏覽器,同時使用像 Gmail 等 Google 的網(wǎng)絡(luò)服務(wù)的話,其實你已經(jīng)不再是通過 HTTP 訪問這些服務(wù)了。在瀏覽器打開 chrome://net-internals/#spdy 就會發(fā)現(xiàn)你已經(jīng)在使用 SPDY 協(xié)議了。(除了包括 Google 自家的 Gmail、Google Plus 等 Google 系服務(wù)外,其他公共站點例如 Twitter 和 Webtide 也已經(jīng)支持該協(xié)議。在國內(nèi),基于 WebKit 的豌豆莢 2.0 也曾表示將引進Chrome的SPDY技術(shù)來進一步提升速度。

就像上圖所示的那樣,SPDY 的實現(xiàn)需要瀏覽器客戶端和 Web 服務(wù)器同時支持。在客戶端瀏覽器這快 Google自家的 Chrome 和Chromium 全系列不用說,都已經(jīng)支持SPDY; Mozilla 家的 Firefox 自 Firefox 13 也默認開啟對 SPDY 的支持。而亞馬遜家的 Silk 利用 SPDY 的深度其實不比 Google 自家的 Chrome 和 Firefox 差。

在Web 服務(wù)器方面包括最流行和最廣泛的 Apache 在內(nèi),Netty、Jeety、Varnish、Erlang 和 Hightide 應(yīng)用服務(wù)器以及面向 node.js 的服務(wù)器也都已經(jīng)宣布支持 SPDY。( Nginx 也表示將支持 SPDY

如何部署 SPDY?

近日 Google 正式發(fā)布了適用于最流行 Web 服務(wù)器 Apache 的插件 mod_spdy,將其下載安裝后你的 Apache 服務(wù)器就能使用 SPDY 協(xié)議與兼容 SPDY 協(xié)議的瀏覽器如 Chrome、FireFox 等進行通信。像之前所說的那樣,SPDY 是運行在 HTTPS 上,非 HTTPS 流量并不會受到 mod_spdy 影響。

SPDY 部署要求:

1. Apache 2.2 (≥2.2.4)
2. mod_ssl 模塊開啟

SPDY 部署步驟:

1. 下載 mod_spdy 模塊

下載頁面下載對應(yīng)系統(tǒng)的安裝包

2. 安裝 mod_spdy 模塊

在系統(tǒng)終端運行下面命令行

dpkg -i mod-spdy-*.deb
apt-get -f install

-系統(tǒng)為 Debian/Ubuntu

------------------------------------------------------------

yum install at (if you do not already have 'at' installed)
rpm -U mod-spdy-*.rpm

-系統(tǒng)為 CentOS/Fedora

3. 重啟服務(wù)器(Apache)

sudo /etc/init.d/apache2 restart (Debian/Ubuntu)

4. 確定開啟與否

打開 Chrome 瀏覽器,輸入并前往 chrome://net-internals/#spdy 頁面,查看主機名稱是否出現(xiàn)在標(biāo)識欄中。如果出現(xiàn)說明已經(jīng)部署完畢,如果沒有出現(xiàn)去服務(wù)器錯誤日志(error.log)里查詢。

未來的web基礎(chǔ)?

在最新的協(xié)議文檔里 Google 重新將 SPDY 分為了兩層,其中一層被描述為 HTTP-like,大有取代 HTTP 的意圖(Google 最近的一篇文章已經(jīng)直呼 SPDY 為“a replacement for HTTP”)。同時 HTTP 2.0 標(biāo)準(zhǔn)制定工作組(HTTPbis)也表示,SPDY 很有希望接替當(dāng)前的 HTTP 傳輸實現(xiàn)。

考慮到 Chrome 和安卓的份額以及標(biāo)準(zhǔn)的推動,相信 SPDY 會有一個好前景。因此選擇此刻支持 SPDY 也是明智的選擇。

相關(guān)文章

最新評論