摘要:軟件工程師在年月發布了包含通用無損數據壓縮的增強版本,特別側重于壓縮。與常見的通用壓縮算法不同,使用一個預定義的千字節字典。
在web應用中,為了節省流量,降低傳輸數據大小,提高傳輸效率,常用的壓縮方式一般都是gzip,今天我們來介紹另外一種更高效的壓縮方式brotli。
??Brotli 是基于LZ77算法的一個現代變體、霍夫曼編碼和二階上下文建模。Google軟件工程師在2015年9月發布了包含通用無損數據壓縮的Brotli增強版本,特別側重于HTTP壓縮。其中的編碼器被部分改寫以提高壓縮比,編碼器和解碼器都提高了速度,流式API已被改進,增加更多壓縮質量級別。
??與常見的通用壓縮算法不同,Brotli使用一個預定義的120千字節字典。該字典包含超過13000個常用單詞、短語和其他子字符串,這些來自一個文本和HTML文檔的大型語料庫。預定義的算法可以提升較小文件的壓縮密度。
使用Brotli替換Deflate(gzip)來對文本文件壓縮通常可以增加20%的壓縮密度,而壓縮與解壓縮速度則大致不變。
瀏覽器支持情況
Mozilla Firefox在Firefox 44中實現Brotli。
Google Chrome從Chrome 49開始支持Brotli。
Opera從Opera 36開始支持Brotli。
以centos為例,配置Nginx使其支持brotli壓縮
1、安裝依賴
> yum groupinstall "Development Tools"
2、安裝libbrotli
cd /usr/local/src/ git clone https://github.com/bagder/libbrotli cd libbrotli ./autogen.sh ./configure make && make install
3、安裝ngx_brotli
> cd /usr/local/src/ > git clone https://github.com/google/ngx_brotli > cd ngx_brotli && git submodule update --init
4、下載Nginx
> cd /usr/local/src > wget http://nginx.org/download/nginx-1.10.3.tar.gz > tar -xvzf nginx-1.10.3.tar.gz
5、編譯安裝
> cd /usr/local/src/nginx-1.10.3 > ./configure --add-module=/usr/local/src/ngx_brotli > make # 如果是首次安裝Nginx,執行make install;如果是升級,執行make upgrade > make install
6、查看是否安裝正常
> nginx -V > nginx -t
7、配置brotli
在nginx.conf文件的http模塊下新增以下內容
#Brotli Compression brotli on; brotli_comp_level 6; brotli_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;
8、檢查是否生效
打開網頁,用chrome開發者工具調試,在Network一欄會發現有content-encoding:br,同時網絡耗時也會明顯減少。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/40300.html
摘要:軟件工程師在年月發布了包含通用無損數據壓縮的增強版本,特別側重于壓縮。與常見的通用壓縮算法不同,使用一個預定義的千字節字典。另外,把換成,真的可以感受到速度明顯提升了。。。 內容協商 在介紹 Brotli 之前,先說一下 HTTP 內容協商 有時候,同一個 URL 可以提供多份不同的文檔,這就要求服務端和客戶端之間有一個選擇最合適版本的機制,這就是內容協商 HTTP 的內容協商的其中一...
摘要:配置如下指令是設定的工作模式及連接數上限。指令用來指定的工作模式。該參數默認是,建議開啟。配置進程的最大打開文件數調整配置進程的最大打開文件數,這個控制連接數的參數為。但副作用是資源更新可能無法及時。 工作上,需要配置 Nginx,要投入生產使用,做了一點優化工作,加上以前也經常折騰 Nginx,故記下一些優化工作。 優化 Nginx 進程數量 配置參數如下: worker_proce...
摘要:確保預先安裝了官方的包申請證書官方的在系統上有各種依賴問題,各種嘗試后放棄了。網上搜索資料后,使用了小巧的。 我大EOI的官網正式上線啦!為了打造公司第一個正式上線的公開站點,我們著實費了不少心思,其中之一就是如何把它搞得快速安全。我們用 Nuxt 做了 SSR,而且啟用了 PWA module,Lighthouse 得分在 90 分以上。官網在保證 IE9 兼容性的基礎上,還使用了諸...
摘要:目前又拍云已支持壓縮算法,通過對新壓縮算法的支持將壓縮率提升,并且幫助降低移動設備的電池使用量,并達到省電延長電池使用壽命的目的。當客戶端同時支持兩種算法時,又拍云會優先響應版本文件。 Google 認為互聯網用戶的時間是寶貴的,他們的時間不應該消耗在漫長的網頁加載中,因此在 2015 年 9 月 Google 推出了無損壓縮算法 Brotli。Brotli 通過變種的 LZ77 算法...
摘要:目前又拍云已支持壓縮算法,通過對新壓縮算法的支持將壓縮率提升,并且幫助降低移動設備的電池使用量,并達到省電延長電池使用壽命的目的。當客戶端同時支持兩種算法時,又拍云會優先響應版本文件。 Google 認為互聯網用戶的時間是寶貴的,他們的時間不應該消耗在漫長的網頁加載中,因此在 2015 年 9 月 Google 推出了無損壓縮算法 Brotli。Brotli 通過變種的 LZ77 算法...
閱讀 2884·2021-10-14 09:50
閱讀 1229·2021-10-08 10:21
閱讀 3663·2021-10-08 10:16
閱讀 3069·2021-09-27 14:02
閱讀 3145·2021-09-23 11:21
閱讀 2134·2021-09-07 10:17
閱讀 415·2019-08-30 14:00
閱讀 2119·2019-08-29 17:26