Brotli是一种全新的数据格式,可以提供比Zopfli高20-26%的压缩比。
Brotli最初发布于2015年,用于网络字体的离线压缩。Google软件工程师在2015年9月发布了包含通用无损数据压缩的Brotli增强版本,特别侧重于HTTP压缩。其中的编码器被部分改写以提高压缩比,编码器和解码器都提高了速度,流式API已被改进,增加更多压缩质量级别。新版本还展现了跨平台的性能改进,以及减少解码所需的内存。
与常见的通用压缩算法不同,Brotli使用一个预定义的120千字节字典。该字典包含超过13000个常用单词、短语和其他子字符串,这些来自一个文本和HTML文档的大型语料库。预定义的算法可以提升较小文件的压缩密度。
使用brotli替换deflate来对文本文件压缩通常可以增加20%的压缩密度,而压缩与解压缩速度则大致不变。使用Brotli进行流压缩的内容编码类型已被提议使用“br”。
安装
1.下载 brotli
|
1
2 |
git clone https://github.com/google/ngx_brotli
cd ngx_brotli && git submodule update --init |
2.编译
在原有的编译配置后增加 –add-module=/opt/nginx/ngx_brotli
例如
配置,在 http 段加入
|
1
2
3
4
5
6
7
8
9
10
11
12 |
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;
…… |
重启,刷新页面查看 header,发现有
|
1 |
accept-encoding:gzip, deflate, br |
如图所示
即表示开启了 brotli 压缩
配置说明
指令介绍
ngx_brotli定义了如下指令:
brotli,是否允许动态压缩响应数据,可选值为on和off,默认值为off。样例如下:
|
1 |
brotli on; |
brotli_types,动态压缩启用时,允许压缩的MIME types,默认值为text/html。样例如下:
|
1 |
brotli_types text/plain text/css text/xml application/xml application/json text/javascript application/javascript application/x-javascript; |
brotli_static,是否允许查找预处理好的、以.br结尾的压缩文件,可选值为on、off和always,默认值为off。样例如下:
|
1 |
brotli_static off; |
brotli_comp_level,压缩级别,可选值范围为0~11,默认值为6。样例如下:
|
1 |
brotli_comp_level 11; |
brotli_buffers,压缩响应数据时使用的缓冲区的数量和大小。样例如下:
|
1 |
brotli_buffers 16 8k; |
brotli_window,brotli使用的窗口值,默认值为512k。样例如下:
|
1 |
brotli_window 512k; |
brotli_min_length,响应数据的最小长度,低于该值将不使用brotli算法执行压缩操作。brotli算法使用Content-Length来确定响应数据的长度。样例如下:
|
1 |
brotli_min_length 20; |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。
原文链接:https://awen.me/post/50337.html
相关文章
- ASP.NET自助建站系统中的用户注册和登录功能定制方法 2025-06-10
- ASP.NET自助建站系统的域名绑定与解析教程 2025-06-10
- 个人服务器网站搭建:如何选择合适的服务器提供商? 2025-06-10
- ASP.NET自助建站系统中如何实现多语言支持? 2025-06-10
- 64M VPS建站:如何选择最适合的网站建设平台? 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
2025-06-04 96
-
2025-05-29 91
-
2025-06-05 97
-
2025-05-29 41
-
2025-05-29 83


