【HTML】HTML协议问什么要基于文本而不是基于二进制节约带宽

目录

 

1、不通用,其他语言难解析

2、历史遗留问题

3、便于直接观察,调试,维护

4、文本可压缩


1、不通用,其他语言难解析

因为这是不通用的,其他语言是很难解析这种流,看看json为什么这么就行就知道了。如果想节省带宽,可以进行压缩,文本的压缩率是很高的。

(问: 压缩数据对性能的消耗和压缩数据所需的时间如何 会不会因为需要额外的时间而导致实际的传输速率下降?

 akari10032:压缩算法的时间跟网络io比起来可以忽略不计

2、历史遗留问题

要用明文传输二进制,两个原因,最早之初有些网络只支持7位字节,和大小端问题。

扫描二维码关注公众号,回复: 10990274 查看本文章

(以前http出现时,很多情况都是字符界面呢,连设计器也木有。最初的网页很多都是在unix下用vi之类的东西敲的。)

3、便于直接观察,调试,维护

“为了便于直接观察,调试,维护” 只有这个能说的通了,可能是 为了便于维护和快速迭代牺牲一定的性能吧

4、 sunny7862632:兼容性差太远了,用文本最大好处就是协议加了新的字段,不管旧的客户端或者新的客户端都可以正常解析,只是旧的客户端新的字段无用罢了。用二进制这种兼容性就很难保证了,多次迭代之后,市场上可能并存着几十个不同版本的协议客户端。

造轮子:用二进制传输,解析不方便,不同的语言、程序解析方式不一样,没法通信,成本太大。

4、文本可压缩

大部分的场景io密集型应用环境,cpu资源相比内存和带宽资源,会富裕

truexf

2. 文本是可读性更好的字节流
3. 自己编码的应用协议,不一定比文本格式更小。但是可读性会更差。
4. 文本压缩率搞,可以压缩掉1/3, 在大部分的场景io密集型应用环境,cpu资源相比内存和带宽资源,会富裕得多,压缩解压没压力。倒是可读性,可维护性,可调试性比较重要。

5、protocolbuff或许是不错的代替项

原帖地址:https://bbs.csdn.net/topics/396351976 《为什么Http协议要用文本做协议,用二进制不更节约带宽吗? 》

发布了583 篇原创文章 · 获赞 96 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/bandaoyu/article/details/105484262