显示我对TCP / IP如何工作的完全无知:查看ASCII表,HTTP仅使用tab,换行符和[x20-x7E]
协议的基本原理是什么?
例如,为什么不使用“x02”(“文本开头”)而是使用双换行符“x0Ax0A”?
是否与TCP / IP的任何干扰有关(如“应用层中不允许”)?是否有更微不足道的原因?还是更复杂?
Duplicate of this question: Why HTTP protocol is designed in plain text way?.
答案 0 :(得分:2)
基于文本的协议更容易调试 - 在调试打印代码中不需要特殊的格式化/解码例程,只需将整个请求转储到控制台即可。同样,您只需将其输入到适当的通用TCP中继程序(例如,netcat)中即可发出HTTP请求。
答案 1 :(得分:1)
我不能说为什么HTTP选择使用特定的受限字符集,但它与TCP / IP的限制无关。 TCP / IP数据包的结构或多或少类似于信封;它们具有复杂的路由和格式信息,必须以非常特定的格式存储,但数据包有效负载的实际内容可以是您选择的任何内容。无论数据包内容如何,数据包标头都包含足够的信息以允许转发和传输。