当前位置:  开发笔记 > 编程语言 > 正文

为什么HTTP协议是以纯文本方式设计的?

如何解决《为什么HTTP协议是以纯文本方式设计的?》经验,为你挑选了5个好方法。

昨天,我与同事讨论了HTTP问题.有人问为什么HTTP是以纯文本方式设计的.当然,它可以像TCP协议一样以二进制方式设计,使用标志来表示不同类型的方法(POST,GET)和变量(HTTP标头).那么,为什么HTTP是这样设计的呢?有任何技术或历史原因吗?



1> PolyThinker..:

技术和历史的一个原因是文本协议几乎总是在Unix世界中首选.

嗯,这不是一个理由,而是一种模式.这背后的基本原理是文本协议允许您通过转储所有经历的内容来查看网络上发生的事情.您不需要TCP/IP所需的专用分析器.这使得调试更容易,更易于维护.

不仅是HTTP,而且许多协议都是基于文本的(例如,FTP,POP3,SMTP,IMAP).

您可能需要查看Unix编程的艺术,以获得有关此Unix事物的更详细说明.



2> Adam Rosenfi..:

使用HTTP,请求的内容几乎总是比协议开销大几个数量级.将协议转换为二进制协议可以节省非常少的带宽,并且文本协议提供的简单可调试性很容易胜过二进制协议的小带宽节省.



3> Michael Burr..:

许多Internet应用程序协议使用或多或少的纯文本协议(请参阅FTP,POP,SMTP等).

它使互操作性和故障排除变得更加容易.


特别是当你可以打开一个telnet会话并假冒对话的一方或双方进行调试时.

4> FlySwat..:

HTTP代表"超文本传输​​协议".

它最初被设计为一种服务文本文档的方式,因此是基于文本的协议.

我们现在用HTTP做的事情远远超出了它的初衷.



5> icelava..:

与HTTP 1.1的RFC 2616第3.7.1节一样,命令或标题行的关键标识符是文本换行符CRLF;基于文本的应用程序协议使仅通过Telnet客户端进行对话(用于故障排除)变得更加容易。它还使使用ReadLine()调用和匹配的文本字符串进行编程变得更加容易。

CRLF参数中断还提供了几乎无限的任意头扩展名,这与固定大小的TCP或IP头不同,后者通过位偏移来对一个硬代码进行编码。

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有