啟用 Brotli 壓縮演算法,對比 Gzip 壓縮 CDN 流量再減少 20%

又拍雲發表於2017-11-21

Google 認為網際網路使用者的時間是寶貴的,他們的時間不應該消耗在漫長的網頁載入中,因此在 2015 年 9 月 Google 推出了無失真壓縮演算法 Brotli。Brotli 通過變種的 LZ77 演算法、Huffman 編碼以及二階文字建模等方式進行資料壓縮,與其他壓縮演算法相比,它有著更高的壓塑壓縮效率。

根據 Google 釋出的研究報告,Brotli 壓縮演算法具有多個特點,最典型的是以下 3 個:

  • 針對常見的 Web 資源內容,Brotli 的效能相比 Gzip 提高了 17-25%;
  • 當 Brotli 壓縮級別為 1 時,壓縮率比 Gzip 壓縮等級為 9(最高)時還要高;
  • 在處理不同 HTML 文件時,Brotli 依然能夠提供非常高的壓縮率。

Brotli 憑藉它優異的壓縮效能迅速佔領了市場,從下圖可以看到,除了 IE 和 Opera Mini 之外,幾乎所有的主流瀏覽器都已支援 Brotli 演算法。

 

△ Brotli 演算法支援情況

之前又拍雲已經支援了 Gzip 演算法,在優化網站速度方面,又拍雲始終不遺餘力地進行優化。目前又拍雲 CDN 已支援 Brotli 壓縮演算法,通過對新壓縮演算法的支援將壓縮率提升 20% ,並且幫助降低移動裝置的電池使用量,並達到省電、延長電池使用壽命的目的。

如何使用 Brotli 壓縮演算法

和 Gzip 壓縮演算法一樣,Brotli 壓縮演算法也是免費開放給又拍雲 CDN 平臺上的所有使用者,同時該特性已預設開啟。

使用又拍雲 CDN Brotli 壓縮演算法需要同時滿足三個條件:

  • Content-Type 滿足如下 MIME 列表:
text/plain
text/javascript
text/css
text/xml
text/x-component
application/javascript
application/x-javascript
application/xml
application/json
application/xhtml+xml
application/rss+xml
application/atom+xml
application/x-font-ttf
application/vnd.ms-fontobject
image/svg+xml
image/x-icon
font/opentype
text/html -- default
  • Content-Length 大於 256 位元組
  • 客戶端請求頭需攜帶 Accept-Encoding: br

此外由於並非所有的瀏覽器都支援 Brotli 演算法,所以在 CDN 邊緣節點,又拍雲會同時提供通過 Brotli 演算法壓縮的檔案和原始資原始檔。

當客戶端不支援 Brotli 演算法時,又拍雲會選擇提供 Gzip 演算法來壓縮原始檔案並提供給客戶端。當客戶端同時支援兩種演算法時,又拍雲 CDN 會優先響應 br 版本檔案。

使用又拍雲 CDN 服務,即可免費享受到 Brotli 演算法帶來的極致壓縮體驗,歡迎使用。

 

推薦閱讀:

談談今年很火的區塊鏈 CDN

全站 HTTPS 訪問優化,又拍雲做了什麼

 

參考文獻:

Google 釋出的研究報告:

Brotli 演算法支援情況:

相關文章