2012-02-28 108 views
2

关于HTTP协议的阐述太多了。但就其本质而言,只不过是通过TCP协议传输的一串ASCII字符。而字符串定义协议的语义。我对吗?HTTP协议的本质

如果是这样,2个问题如下:

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

回答

2

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

  1. 是的,你可以设计你喜欢的任何协议。为了好玩,抓住SMTP,FTP或HTTP的RFC并连接到你自己的服务器并学习协议。 RFC2324也需要阅读 - http://www.faqs.org/rfcs/rfc2324.html
  2. 近几年来,缺乏HTTP头压缩技术已经被大量讨论。请参阅Steve Souders的博客/书籍,YSlow!和Google Page Speed网站。 SPDY协议可能会成为解决当前HTTP连接管理,性能和安全问题的领跑者 - http://www.chromium.org/spdy/spdy-whitepaper
2
  1. 当然。但是你必须让别人采用你的协议(除非它是内部/专有规范)。如果你能以HTTP的形式连贯地表达你的公报,为什么不使用它呢?它在几乎所有的语言和操作系统中都得到了广泛的应用,并且很好理解并且易于调试。不要仅仅为它创建协议。
  2. HTTP规范provides for several common compression schemes。 gzip和deflate被特别广泛地使用。例如,请参阅Apache的mod_gzip和mod_deflate。客户端和服务器通常以您的名义协商压缩。
+0

HTTP标头无法压缩 - http://stackoverflow.com/questions/3110546/how-to-compress-http-response-headers – 2012-02-28 10:44:05

+0

显然。我认为OP指的是有效负载本身(“HTTP字符串”非常模糊),它通常比标头大得多,因此值得压缩。 – 2012-02-28 10:58:07