摘要:軟件工程師在年月發(fā)布了包含通用無損數(shù)據(jù)壓縮的增強(qiáng)版本,特別側(cè)重于壓縮。與常見的通用壓縮算法不同,使用一個(gè)預(yù)定義的千字節(jié)字典。
在web應(yīng)用中,為了節(jié)省流量,降低傳輸數(shù)據(jù)大小,提高傳輸效率,常用的壓縮方式一般都是gzip,今天我們來介紹另外一種更高效的壓縮方式brotli。
??Brotli 是基于LZ77算法的一個(gè)現(xiàn)代變體、霍夫曼編碼和二階上下文建模。Google軟件工程師在2015年9月發(fā)布了包含通用無損數(shù)據(jù)壓縮的Brotli增強(qiáng)版本,特別側(cè)重于HTTP壓縮。其中的編碼器被部分改寫以提高壓縮比,編碼器和解碼器都提高了速度,流式API已被改進(jìn),增加更多壓縮質(zhì)量級(jí)別。
??與常見的通用壓縮算法不同,Brotli使用一個(gè)預(yù)定義的120千字節(jié)字典。該字典包含超過13000個(gè)常用單詞、短語和其他子字符串,這些來自一個(gè)文本和HTML文檔的大型語料庫。預(yù)定義的算法可以提升較小文件的壓縮密度。
使用Brotli替換Deflate(gzip)來對(duì)文本文件壓縮通常可以增加20%的壓縮密度,而壓縮與解壓縮速度則大致不變。
瀏覽器支持情況
Mozilla Firefox在Firefox 44中實(shí)現(xiàn)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,執(zhí)行make install;如果是升級(jí),執(zhí)行make upgrade > make install
6、查看是否安裝正常
> nginx -V > nginx -t
7、配置brotli
在nginx.conf文件的http模塊下新增以下內(nèi)容
#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、檢查是否生效
打開網(wǎng)頁,用chrome開發(fā)者工具調(diào)試,在Network一欄會(huì)發(fā)現(xiàn)有content-encoding:br,同時(shí)網(wǎng)絡(luò)耗時(shí)也會(huì)明顯減少。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/40300.html
摘要:軟件工程師在年月發(fā)布了包含通用無損數(shù)據(jù)壓縮的增強(qiáng)版本,特別側(cè)重于壓縮。與常見的通用壓縮算法不同,使用一個(gè)預(yù)定義的千字節(jié)字典。另外,把換成,真的可以感受到速度明顯提升了。。。 內(nèi)容協(xié)商 在介紹 Brotli 之前,先說一下 HTTP 內(nèi)容協(xié)商 有時(shí)候,同一個(gè) URL 可以提供多份不同的文檔,這就要求服務(wù)端和客戶端之間有一個(gè)選擇最合適版本的機(jī)制,這就是內(nèi)容協(xié)商 HTTP 的內(nèi)容協(xié)商的其中一...
摘要:配置如下指令是設(shè)定的工作模式及連接數(shù)上限。指令用來指定的工作模式。該參數(shù)默認(rèn)是,建議開啟。配置進(jìn)程的最大打開文件數(shù)調(diào)整配置進(jìn)程的最大打開文件數(shù),這個(gè)控制連接數(shù)的參數(shù)為。但副作用是資源更新可能無法及時(shí)。 工作上,需要配置 Nginx,要投入生產(chǎn)使用,做了一點(diǎn)優(yōu)化工作,加上以前也經(jīng)常折騰 Nginx,故記下一些優(yōu)化工作。 優(yōu)化 Nginx 進(jìn)程數(shù)量 配置參數(shù)如下: worker_proce...
摘要:確保預(yù)先安裝了官方的包申請(qǐng)證書官方的在系統(tǒng)上有各種依賴問題,各種嘗試后放棄了。網(wǎng)上搜索資料后,使用了小巧的。 我大EOI的官網(wǎng)正式上線啦!為了打造公司第一個(gè)正式上線的公開站點(diǎn),我們著實(shí)費(fèi)了不少心思,其中之一就是如何把它搞得快速安全。我們用 Nuxt 做了 SSR,而且啟用了 PWA module,Lighthouse 得分在 90 分以上。官網(wǎng)在保證 IE9 兼容性的基礎(chǔ)上,還使用了諸...
摘要:目前又拍云已支持壓縮算法,通過對(duì)新壓縮算法的支持將壓縮率提升,并且?guī)椭档鸵苿?dòng)設(shè)備的電池使用量,并達(dá)到省電延長電池使用壽命的目的。當(dāng)客戶端同時(shí)支持兩種算法時(shí),又拍云會(huì)優(yōu)先響應(yīng)版本文件。 Google 認(rèn)為互聯(lián)網(wǎng)用戶的時(shí)間是寶貴的,他們的時(shí)間不應(yīng)該消耗在漫長的網(wǎng)頁加載中,因此在 2015 年 9 月 Google 推出了無損壓縮算法 Brotli。Brotli 通過變種的 LZ77 算法...
摘要:目前又拍云已支持壓縮算法,通過對(duì)新壓縮算法的支持將壓縮率提升,并且?guī)椭档鸵苿?dòng)設(shè)備的電池使用量,并達(dá)到省電延長電池使用壽命的目的。當(dāng)客戶端同時(shí)支持兩種算法時(shí),又拍云會(huì)優(yōu)先響應(yīng)版本文件。 Google 認(rèn)為互聯(lián)網(wǎng)用戶的時(shí)間是寶貴的,他們的時(shí)間不應(yīng)該消耗在漫長的網(wǎng)頁加載中,因此在 2015 年 9 月 Google 推出了無損壓縮算法 Brotli。Brotli 通過變種的 LZ77 算法...
閱讀 2861·2021-10-14 09:50
閱讀 1218·2021-10-08 10:21
閱讀 3646·2021-10-08 10:16
閱讀 3062·2021-09-27 14:02
閱讀 3135·2021-09-23 11:21
閱讀 2108·2021-09-07 10:17
閱讀 406·2019-08-30 14:00
閱讀 2105·2019-08-29 17:26