HTTP协议的本质

时间:2012-02-28 10:07:00

标签: http networking

有关HTTP协议的详细说明。但就其本质而言,它只不过是通过TCP协议传输的一串ASCII字符。字符串定义了协议的语义。我是对的吗?

如果是,则有两个问题:

  1. 我们可以根据需要设计任何协议,因为它看起来像 通过互联网传递字符串。
  2. 为什么我们在将HTTP字符串传递给TCP级别之前不压缩它们?

2 个答案:

答案 0 :(得分:2)

  1. 不确定。但是你必须让其他人采用你的协议(除非它是内部/专有规范)。如果您能够以HTTP的形式连贯地表达您的公报,为什么不使用它呢?它几乎可以在所有语言和操作系统中广泛实现,并且易于理解和轻松调试。不要只是创建它的协议。
  2. HTTP规范provides for several common compression schemes。 gzip和deflate特别广泛使用。例如,请参阅Apache的mod_gzip和mod_deflate。客户端和服务器会代表您定期协商压缩。

答案 1 :(得分:2)

没错,HTTP绝不是特别的,但因为它支持网络,所以它受到了很多关注。它是一个应用程序级协议,如SMTP或FTP或任何其他。

  1. 是的,你可以设计你喜欢的任何协议。为了好玩,获取SMTP,FTP或HTTP的RFC并连接到您自己的服务器并学习协议。 RFC2324也需要阅读 - http://www.faqs.org/rfcs/rfc2324.html
  2. 近年来,人们对HTTP头压缩的缺乏进行了大量讨论。看史蒂夫·索德斯博客/书籍,YSlow!和Google Page Speed网站。 SPDY协议可能会成为解决HTTP连接管理,性能和安全性等当前问题的先行者 - http://www.chromium.org/spdy/spdy-whitepaper