• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# third_party_brotli
2
3## Brotli简介
4Brotli是基于LZ77算法,霍夫曼编码以及二阶上下文建模的开源数据压缩算法。
5OpenHarmony引入该算法用于增强http的基础能力,使之可以处理使用brotli压缩算法的http请求。
6
7源代码最新参考资料可以访问:[brotli](https://github.com/google/brotli)
8
9引入版本[openEuler-brotli-1.0.9](https://gitee.com/src-openeuler/brotli)
10
11## 引入背景描述
12当前HTTP模块不支持该算法,无法满足社区需求。
13
14## 为OpenHarmony带来的价值
15生态应用在使用OpenHarmony提供的HTTP协议栈时,可以使用brotli的高压缩比特性,节省流量。
16
17## 如何使用
18在发送http请求时header信息带上"Accept-Encoding:br",则服务端会以brotli压缩的方式响应请求。
19
20brotli算法适用于静态网页数据、压缩阶段不敏感型、解压缩阶段敏感型等场景下的数据处理。
21
22## 软件架构
23```
24LICENSE           #版权声明
25v.1.0.9.tar.gz    #源码压缩包
26install.sh        #解压缩以及打补丁脚本
27patch             #补丁
28BUILD.gn          #编译程序
29```
30
31
32## 安装教程
33
341.  在使用该库的编译程序中加入依赖
35```
36deps = ["//third_party/brotli:brotli"]
37```
382.  预处理
39```
40./build/prebuilts_download.sh
41```
423.  编译
43```
44./build.sh --product-name rk3568 --ccache
45```
46编译生成物对应路径: 'out/rk3568/thirdparty/brotli/libbrotli.z.so'
47
48## 参与贡献
49
501.  Fork 本仓库
512.  新建 Feat_xxx 分支
523.  提交代码
534.  新建 Pull Request
54
55
56