5
为什么有这么多基于文本的互联网协议?
从我发现,一个非常大的量的协议的旅行在互联网上是“基于文本的”,而不是二进制。有问题的协议包括但不限于HTTP,SMTP,FTP(我认为这是全部基于文本的协议),WHOIS,IRC。 实际上,这些协议中的某些协议每当要传输二进制数据时都会跳入某些循环。 这背后有原因吗?基于文本的协议显然会带来一些开销,因为它们需要发送更多的数据来传输相同数量的信息(请参见下面的示例)。有什么好处胜过这个? 通过基于文本的,我的意思是大多数协议中使用的字符是之间0x20(空间)和0x7E(~),与用于偶尔“字调校妥当,” 非常特殊的用途,如换行,空,ETX和EOT。这与通过连接传输原始二进制数据相反。 例如,将整数123456作为文本传输将涉及发送字符串123456(以十六进制表示为31 32 33 34 35 36),而将32位二进制值发送为(以十六进制表示)0x0001E240(如您所见,“包含”特殊的空字符) 。