当前位置:网站首页>如何达到高效的网络信息传播
如何达到高效的网络信息传播
2022-06-23 06:20:00 【强强学习】
第一点是从产生信息的角度来看,即信息量要足够小。举例来说,从HTTP 1.1升级到HTTP2之后,在HTTP 2中对HTTP 1.1中的REST架构中反复传输大量的HTTP header字段,会使用哈夫曼编码即一种常用的压缩算法。哈夫曼编码的本质就是考虑了信息熵的概念,它的核心原理是对反复出现的文字就使用较短的编码。比如HTTP 2中只用5位来编写一个八位的一个单字节的一个数字。对于很罕见出现的们就采用较长的编码。在减少信息量的角度来说,除了使用哈夫曼编码以外,也可以使用静态表和动态表的方式。
静态表是对非常常见的内容,比如请求方式为GET、响应码为200等反复出现的Header信息。将它们硬编码到客户端服务器的中间件的代码中,比如出现i表示GET请求,出现某一个数字代表POST请求。如果硬编码到代码中,就可以很好的进行解析。静态表体积是有限的,最有效的方法是动态表。
讲解动态表之前,先讲解下时间维度的相关性。比如说对高清图片进行压缩,如果对它进行十倍的压缩,基本上还看不出失真,但已经到极限了。但是如果对高清视频进行压缩,可以将其压缩到100倍到1000倍 ,但很可能还不是很明显的能够感觉出来。这就是由于时间维度上的相关性。比如说视频每秒是30帧或者60帧,这些帧与帧对应图片的变化是非常小的。所以只要设计第一帧为关键帧,从而完整的存储这张图片。而后面的帧只是相对于第一帧的一个变化的增量,那么第二帧及其后面的帧的信息量就非常少了。所以HTTP2中的动态表也是基于同样的道理。第一次进行信息传输时,UA可能是Chorme或者是FireFox,但是一个页面上可能包含几百个资源,甚至可能反复访问该网站数个小时,此时就可以在两端对这个UA进行动态编码,比如通过整型数字进行编码。后续只要传输整型数字就可以了。
边栏推荐
- [project training 10] drawing of arrows
- 【Qt】基础学习笔记
- About professional attitude
- Eureka
- 315. 计算右侧小于当前元素的个数
- A small method of debugging equipment serial port information with ADB
- [project training] details of linear components
- [STL] summary of stack and queue usage of container adapter
- 深度学习系列47:styleGAN总结
- 技术文章写作指南
猜你喜欢

Open source oauth2 framework for SSO single sign on
![[project training] change of linear arrow](/img/a4/7554522c13684d7590d247f28a6965.png)
[project training] change of linear arrow

小白投资理财必看:图解基金买入与卖出规则

Influence of steam education on domestic college students

数据在内存中的存储方式(C语言)

正则表达式图文超详细总结不用死记硬背(上篇)

MySQL mvcc multi version concurrency control

RFID数据安全性实验:C#可视化实现奇偶校验、CRC冗余校验、海明码校验

MySQL MVCC多版本并发控制

cmder
随机推荐
在金融行业做数据产品经理是什么体验
[system] right click the desktop icon. After turning around, the Explorer will crash and the desktop will be refreshed
[shell] tree command
asp. Net file download demo and related problems
[project training] details of linear components
MySQL MVCC多版本并发控制
307. 区域和检索 - 数组可修改
Vs2013 ffmpeg environment configuration and common error handling
Common setup modes (Abstract Factory & responsibility chain mode & observer mode)
300. 最长递增子序列
[graduation season · advanced technology Er] it's my choice. I have to walk on my knees
Storage mode of data in memory (C language)
【毕业季·进击的技术er】自己的选择,跪着也要走
Lombok的使用
Idea installing the cloudtoolkit plug-in
MySQL index
RFID数据安全性实验:C#可视化实现奇偶校验、CRC冗余校验、海明码校验
[QT] basic learning notes
Don't look for [12 super easy-to-use Google plug-ins are here] (are you sure you want to take a look?)
core. What is JS ---kalrry