Web应用优化 - 压缩内容传输量
16lz
2021-04-15
1. 选取合适的数据协议
典型场景:打开 Google Docs 表格拉取后台数据,http 响应内容的序列化采用 Protobuf 协议 。
数据序列化:JavaScript 对象转为字节,将字节恢复为 JavaScript 对象,然后在网络间传输。
常见的协议有 JSON/XML/Protobuf 等。对于一个庞大的 docs 表格,使用 JSON 或者 xml 格式进行数据传输,太过于冗余。
{ "workbookConfig":[ [ { "1":"0", "2":"0", "3":0, "4":200 } ] ]}
例如 pb 协议描述的数据结构代表一个表格的全局配置信息。
2. 合理使用压缩算法
典型场景:Google Docs 文档上行操作消息压缩
在 Google Docs 文档中,对于http请求中的局部参数进行 gzip 压缩,例如使用 pako 模块, 减少网络传输体积。
例如 docs 文档插入一个表格的变更集, 压缩前后对比:原始大小:35293 字节,压缩结果大小:1148 字节,压缩比为 3074%
示例代码: https://jsfiddle.net/zhangchi/xu5380mn/27/
解压工具: http://www.txtwizard.net/compression
©著作权归作者所有:来自51CTO博客作者mb607558ea4fef1的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- 目录变0字节怎样解决?
- C语言数据的存储-上
- Nginx开启gzip的配置
- 【linux】循序渐进学运维-wc
- [linux]循序渐进学运维-基础命令篇-文件的归档和压缩
- Linux中常用压缩及解压命令
- Linux 压缩和解压 常用命令
- 10万字节跳动员工都在用的办公协同软件,如何配得上这个时代?
- java解压压缩包工具类