首页 > 解决方案 > 为什么 HTTP/2 是二进制的?

问题描述

为什么是 HTTP/2 二进制,而 HTTP 1.1 是文本?在我看来,它们都是二进制的,因为计算机没有人工智能,也不理解文本本身。

标签: httpbinary

解决方案


最终,(非量子)计算机在其内存中保存的所有内容都以二进制表示。这句话以比特的形式存储在数据中心某处的某个 SQL 服务器中。

但是,有些字节可以表示为字符,而有些则不能。文本格式(例如源代码文件或其他纯文本文件格式)将完全是人类可读的,因为它的所有字节都组成字符。

这对于二进制格式是不同的。二进制并不意味着人类可读,因此如果您在记事本等文本编辑器中打开 HTTP/2 流,您会看到很多问号或黑色方块。

那是因为 HTTP/2 使用压缩,并且压缩敦促充分利用所有可用位,而文本没有。


推荐阅读