http - 为什么 HTTP/2 是二进制的?
问题描述
为什么是 HTTP/2 二进制,而 HTTP 1.1 是文本?在我看来,它们都是二进制的,因为计算机没有人工智能,也不理解文本本身。
解决方案
最终,(非量子)计算机在其内存中保存的所有内容都以二进制表示。这句话以比特的形式存储在数据中心某处的某个 SQL 服务器中。
但是,有些字节可以表示为字符,而有些则不能。文本格式(例如源代码文件或其他纯文本文件格式)将完全是人类可读的,因为它的所有字节都组成字符。
这对于二进制格式是不同的。二进制并不意味着人类可读,因此如果您在记事本等文本编辑器中打开 HTTP/2 流,您会看到很多问号或黑色方块。
那是因为 HTTP/2 使用压缩,并且压缩敦促充分利用所有可用位,而文本没有。
推荐阅读
- git - 有没有办法删除我的(远程)git repo中曾经跟踪的文件,这些文件在我的本地版本中不存在?
- angular - Angular:显示带有服务的加载器/微调器覆盖
- vue.js - Vue.Js - App.Vue 组件中的导入组件问题
- unity3d - 试图保存游戏,但每次都卡住了。输出日志说“包丢失???”
- python-3.x - 如何计算 Python 中多个字符串之间的相似度百分比?
- javascript - ReactJS 最佳实践。我应该用箭头功能制作我的所有组件吗?以及非组件功能?
- c# - 为什么我的应用程序只是停止而不继续运行?
- javascript - 如何在javascript中将数组转换为对象时添加其他属性?
- kubernetes - 当 iptables 更改时,kubernetes pod 关闭
- java - ./gradlew clean 使用 react native android 的问题