我们大多数网站都是启用的 gzip 来进行 资源传输的压缩,这有利于我们更加快速的访问我们的网站;但是除了 gzip 外,我们或许还有别的选项,而且性能会更好,比如 google开发的 Brotli 算法;

与常见的通用压缩算法不同,Brotli使用一个预定义的120千字节字典。该字典包含超过13000个常用单词、短语和其他子字符串,这些来自一个文本和HTML文档的大型语料库。预定义的算法可以提升较小文件的压缩密度。

对全球1000个访问量比较大的地址进行测试,使用 Brotli 算法可以得到明显的性能改善:

  • 14%smaller than gzip for JavaScript
  • 21% smaller than gzip for HTML
  • 17% smaller than gzip for CSS

使用brotli取代deflate来对文本文件压缩通常可以增加20%的压缩密度,而压缩与解压缩速度则大致不变。

可能有些浏览器不支持 Brotli 压缩的会自动降级使用 gzip压缩,所以原有的gzip压缩配置要保留;另外,brotli算法只会在https协议下生效,在http协议下不生效,在http协议下即使配置了Brotli ,也还是使用gzip压缩算法。

ngx_brotli 配置有如下指令:

1、brotli

是否启用 Brotli on 为开启 off 为关闭

2、brotli_types

允许的压缩 mime 类型比如 text/css, text/javascript

3、brotli complevel

压缩级别 可选值范围为0~11,默认值为6

安装

  • 官网

    • nginx的brotli模块:

nginx使用Brotli压缩相关推荐

  1. linux c brotli压缩简介

    Brotli是一种全新的数据格式,可以提供比Zopfli高20-26%的压缩比.据谷歌研究,Brotli压缩速度同zlib的Deflate实现大致相同,而在Canterbury语料库上的压缩密度比LZ ...

  2. squid配合nginx的gzip压缩的完美解决方案

    Squid3.0之前,一直不能完美支持http1.1.所以对gzip内容的支持,始终有很多问题.我也看过很多帖子,号称解决了这个问题.但是其实一直没有把问题说清楚.我今天试着把问题的原因和解决方法彻底 ...

  3. Nginx使用brotli代替gzip

    最近几年出现了很多新的压缩算法, brotli是google开源的新的压缩算法之一,我的另外一篇文章做了一下收集整理. http://blog.csdn.net/chenhaifeng2016/art ...

  4. 在ASP.NET Core中使用brotli压缩

    Brotli是一种全新的数据格式,可以提供比Zopfli高20-26%的压缩比.据谷歌研究,Brotli压缩速度同zlib的Deflate实现大致相同,而在Canterbury语料库上的压缩密度比LZ ...

  5. Nginx开启Gzip压缩配置详解

    Nginx开启Gzip压缩配置详解 最近生产上发生了一些问题,原先所有的静态资源文件都是经过gzip压缩的,然而这几天突然都没有压缩了,经过一顿排查,发现是Nginx的配置有问题,借此机会详细了解了N ...

  6. Nginx之gzip压缩配置

    一ngx_http_gzip_module模块 这个模块主要负责gzip功能的开启和设置 1.1 gzip 语法结构:gzip on | off 默认为off,不弃用gzip,只有该指令置为on的时候 ...

  7. nginx的gzip压缩

    随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢? gzip(GNU-ZIP)是一种压缩技术.经过gzi ...

  8. Nginx服务器的压缩功能和缓存功能

    介绍 在Nginx服务器配置文件中可以通过配置Gzip的使用,可以配置在http块,server 块或者location块中设置,Nginx服务器可以通过ngx_http_gzip_module模块. ...

  9. nginx 开启gzip压缩

    一.背景介绍        历史遗留问题,在项目创建初期前端力量薄弱,网站大部分image.js.css与业务应用存放在一起,未上传到CDN中,最终导致网站访问缓慢,经过排查由于静态资源大量消耗带宽. ...

最新文章

  1. docker 安装 oracle12,使用Docker安装Oracle 12c
  2. MYSQL使用的时候遇到的一些问题
  3. boost::outcome_v2::std_result用法的测试程序
  4. 在ie6下实现position-fixed的效果--------续集---对联效果(02)
  5. 数据采集工具Telegraf:简介及安装
  6. 通过扫码自定义链接安装iOS app,版本更新总结。
  7. 数学难题html5小游戏答案,小学数学难题讲解及答案
  8. linux职业_对Linux的好奇心导致了意外的职业
  9. 内存总是不够?HBaseGeoMesa配置优化了解一下
  10. HierachyViewer的使用
  11. DNK编程 JNI 之 javah
  12. RFBnet论文翻译:感受野块网络对于精确的和快速的目标检测
  13. unity与Android交互的currentActivity和入口Activity
  14. 什么是服务降级和熔断(网络白话摘要)
  15. Typora+PicGo-core+SMMS图床踩坑记
  16. 博士论文致谢:感谢博一与我结婚的妻子!
  17. “互联网+”最可行的路径就是“社群+”
  18. 做人如水 做事如山
  19. 微信小程序新手入门教程
  20. 毁灭行星,微信小游戏开发

热门文章

  1. python 用 xlwings 库 生成图表
  2. 【深度学习NLP】初识深度学习(DL)与自然语言(NLP)
  3. python已知某公司有一批销售员工,底薪为2000,员工销售额和提成比例如下
  4. 卡通农场安卓服务器无响应,《最强蜗牛》游戏进不去怎么办 服务器无响应解决办法分享...
  5. java modbus 32位浮点数解析
  6. 用python画路飞代码_用Python画路飞骷髅图案【附代码】-Go语言中文社区
  7. esp8266向服务器发送信息,esp8266发送数据到云服务器
  8. XYC2016上半年工作笔记整理
  9. 当当API接口:item_search - 按关键字搜索dangdang商品
  10. Oracle数据库图书管理系统的课程设计