http上下文中二进制协议和文本协议之间的区别

时间:2020-09-27 12:51:32

标签: http binary http2

我到处都读到的http是基于文本的,而http / 2是基于二进制的协议。在线上的大量文章表明,http / 2二进制协议更紧凑,处理效率更高。

在http工作流程中,基于文本的协议到底在哪里增加开销?在应用程序层,无论如何我们总是需要将数据(文本)序列化为二进制文件以在线传输。因此,从本质上讲,我们不是同时使用http / http2来传输二进制数据吗?

http2工作流程中的确切二进制协议带来了紧凑性和处理效率

1 个答案:

答案 0 :(得分:0)

在应用程序层,无论如何我们总是需要将数据(文本)序列化为二进制文件以在线上传输。

正确,但是直到HTTP / 1,数据仍被写入文本的下层(如tcp层)。但是在Http / 2中,数据被编码为二进制,打包成帧并发送到底层。

文本格式不能完全适合固定尺寸的框架。一个角色可能会分裂成多个帧。宁可将数据二进制编码并将其分成多个帧看起来更可取。