主頁(yè) > 知識(shí)庫(kù) > 為Nginx啟用Brotli壓縮算法的方法示例

為Nginx啟用Brotli壓縮算法的方法示例

熱門標(biāo)簽:外呼系統(tǒng)的經(jīng)營(yíng)范圍 云會(huì)外呼系統(tǒng) 涪陵商都400電話開通辦理 柳州市機(jī)器人外呼系統(tǒng)報(bào)價(jià) 申請(qǐng)400電話價(jià)格多少 智能電話機(jī)器人坐席 外呼系統(tǒng)不彈窗 廈門營(yíng)銷外呼系統(tǒng)平臺(tái) 安陽(yáng)ai電銷機(jī)器人軟件

Brotli是一種全新的數(shù)據(jù)格式,可以提供比Zopfli高20-26%的壓縮比。

什么是 Brotli 壓縮算法

Brotli最初發(fā)布于2015年,用于網(wǎng)絡(luò)字體的離線壓縮。Google軟件工程師在2015年9月發(fā)布了包含通用無(wú)損數(shù)據(jù)壓縮的Brotli增強(qiáng)版本,特別側(cè)重于HTTP壓縮。其中的編碼器被部分改寫以提高壓縮比,編碼器和解碼器都提高了速度,流式API已被改進(jìn),增加更多壓縮質(zhì)量級(jí)別。新版本還展現(xiàn)了跨平臺(tái)的性能改進(jìn),以及減少解碼所需的內(nèi)存。

與常見的通用壓縮算法不同,Brotli使用一個(gè)預(yù)定義的120千字節(jié)字典。該字典包含超過(guò)13000個(gè)常用單詞、短語(yǔ)和其他子字符串,這些來(lái)自一個(gè)文本和HTML文檔的大型語(yǔ)料庫(kù)。預(yù)定義的算法可以提升較小文件的壓縮密度。

使用brotli替換deflate來(lái)對(duì)文本文件壓縮通??梢栽黾?0%的壓縮密度,而壓縮與解壓縮速度則大致不變。使用Brotli進(jìn)行流壓縮的內(nèi)容編碼類型已被提議使用“br”。

安裝

1.下載 brotli

git clone https://github.com/google/ngx_brotli
cd ngx_brotli && git submodule update --init

2.編譯

在原有的編譯配置后增加 –add-module=/opt/nginx/ngx_brotli

例如

復(fù)制代碼 代碼如下:
./configure --prefix=/usr/local/nginx --user=www --group=www --with-pcre=/opt/nginx/pcre-8.41 --with-http_ssl_module --with-zlib=/opt/nginx/zlib-1.2.11 --with-openssl=/opt/nginx/openssl-1.0.2n --add-module=/opt/nginx/ngx_brotli --with-http_v2_module

配置,在 http 段加入

http {
  include    mime.types;
  default_type application/octet-stream;
  sendfile    on;
  tcp_nopush   on;

  keepalive_timeout 65;
  #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;
  ……

重啟,刷新頁(yè)面查看 header,發(fā)現(xiàn)有

accept-encoding:gzip, deflate, br

如圖所示

即表示開啟了 brotli 壓縮

配置說(shuō)明

指令介紹

ngx_brotli定義了如下指令:

brotli,是否允許動(dòng)態(tài)壓縮響應(yīng)數(shù)據(jù),可選值為on和off,默認(rèn)值為off。樣例如下:

brotli on;

brotli_types,動(dòng)態(tài)壓縮啟用時(shí),允許壓縮的MIME types,默認(rèn)值為text/html。樣例如下:

brotli_types text/plain text/css text/xml application/xml application/json text/javascript application/javascript application/x-javascript;

brotli_static,是否允許查找預(yù)處理好的、以.br結(jié)尾的壓縮文件,可選值為on、off和always,默認(rèn)值為off。樣例如下:

brotli_static off;

brotli_comp_level,壓縮級(jí)別,可選值范圍為0~11,默認(rèn)值為6。樣例如下:

brotli_comp_level 11;

brotli_buffers,壓縮響應(yīng)數(shù)據(jù)時(shí)使用的緩沖區(qū)的數(shù)量和大小。樣例如下:

brotli_buffers 16 8k;

brotli_window,brotli使用的窗口值,默認(rèn)值為512k。樣例如下:

brotli_window 512k;

brotli_min_length,響應(yīng)數(shù)據(jù)的最小長(zhǎng)度,低于該值將不使用brotli算法執(zhí)行壓縮操作。brotli算法使用Content-Length來(lái)確定響應(yīng)數(shù)據(jù)的長(zhǎng)度。樣例如下:

brotli_min_length 20;

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:晉城 孝感 南充 福州 撫順 綏化 巴中 蕪湖

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《為Nginx啟用Brotli壓縮算法的方法示例》,本文關(guān)鍵詞  為,Nginx,啟用,Brotli,壓縮,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《為Nginx啟用Brotli壓縮算法的方法示例》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于為Nginx啟用Brotli壓縮算法的方法示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章