为什么HTTP只使用可打印字符?

时间:2011-01-31 11:00:49

标签: http protocols ascii

  

可能重复:
  Why HTTP protocol is designed in plain text way?

显示我对TCP / IP如何工作的完全无知:查看ASCII表,HTTP仅使用tab,换行符和[x20-x7E]协议的基本原理是什么?

例如,为什么不使用“x02”(“文本开头”)而是使用双换行符“x0Ax0A”?

是否与TCP / IP的任何干扰有关(如“应用层中不允许”)?是否有更微不足道的原因?还是更复杂?

Duplicate of this question: Why HTTP protocol is designed in plain text way?.

2 个答案:

答案 0 :(得分:2)

基于文本的协议更容易调试 - 在调试打印代码中不需要特殊的格式化/解码例程,只需将整个请求转储到控制台即可。同样,您只需将其输入到适当的通用TCP中继程序(例如,netcat)中即可发出HTTP请求。

答案 1 :(得分:1)

我不能说为什么HTTP选择使用特定的受限字符集,但它与TCP / IP的限制无关。 TCP / IP数据包的结构或多或少类似于信封;它们具有复杂的路由和格式信息,必须以非常特定的格式存储,但数据包有效负载的实际内容可以是您选择的任何内容。无论数据包内容如何,​​数据包标头都包含足够的信息以允许转发和传输。