本篇文章给大家分享的是有关Brotli压缩算法如何在Nginx中启用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
Brotli是一种全新的数据格式,可以提供比Zopfli高20 - 26%的压缩比。
<强>什么是Brotli压缩算法强>
Brotli最初发布于2015年,用于网络字体的离线压缩.Google软件工程师在2015年9月发布了包含通用无损数据压缩的Brotli增强版本,特别侧重于HTTP压缩。其中的编码器被部分改写以提高压缩比,编码器和解码器都提高了速度,流式API已被改进,增加更多压缩质量级别。新版本还展现了跨平台的性能改进,以及减少解码所需的内存。
与常见的通用压缩算法不同,Brotli使用一个预定义的120年千字节字典。该字典包含超过13000个常用单词、短语和其他子字符串,这些来自一个文本和HTML文档的大型语料库。预定义的算法可以提升较小文件的压缩密度。
使用Brotli替换缩小来对文本文件压缩通常可以增加20%的压缩密度,而压缩与解压缩速度则大致不变。使用Brotli进行流压缩的内容编码类型已被提议使用“溴”。
<强>安装强>
1。下载brotli
git clone https://github.com/google/ngx_brotli cd ngx_brotli ,,, git submodule update ——init
2。编译
在原有的编译配置后增加添加模块=/opt/nginx/ngx_brotli
例如
代码如下:
。/configure——prefix=/usr/本地/nginx——用户=www -组=www - with-pcre=/opt/nginx/pcre - 8.41——with-http_ssl_module with-zlib=/opt/nginx/zlib-1.2.11——使用openssl=/opt/nginx/openssl-1.0.2n——添加模块=/opt/nginx/ngx_brotli with-http_v2_module
配置,在http段加入
http { include 才能,,,,mime.types; default_type 才能;应用程序/八进制; sendfile 才能,,,,, tcp_nopush 才能,,,; keepalive_timeout 才能;65; ,# Brotli 压缩 brotli 才能;; brotli_comp_level 才能;6; brotli_types 才能;文本/plain 文本/css 应用程序/json 应用程序/x-javascript 文本/xml 应用程序/xml 应用程序/xml + rss 文本/javascript 应用程序/javascript 图像/svg + xml; …才能…
重启,刷新页面查看标题,发现有
接受编码:gzip,,,缩小,br
如图所示
brotli ;
brotli_types,动态压缩启用时,允许压缩的MIME类型,默认值为text/html。样例如下:
brotli_types 文本/plain 文本/css 文本/xml 应用程序/xml 应用程序/json 文本/javascript 应用程序/javascript 应用程序/x-javascript;
brotli_static,是否允许查找预处理好的,以。br结尾的压缩文件,可选值为,和总是,默认值为。样例如下:
brotli_static ;
brotli_comp_level,压缩级别,可选值范围为0 ~ 11日,默认值为6。样例如下:
brotli_comp_level 11;
brotli_buffers,压缩响应数据时使用的缓冲区的数量和大小。样例如下:
brotli_buffers 16, 8 k;
brotli_window, brotli使用的窗口值,默认值为512 k。样例如下:
brotli_window 512 k;
brotli_min_length,响应数据的最小长度,低于该值将不使用brotli算法执行压缩操作.brotli算法使用内容长度来确定响应数据的长度。样例如下:
brotli_min_length 20;
以上就是brotli压缩算法如何在Nginx中启用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。