为什么HTTP协议最初设计为无连接?

Zel*_*luX 2 networking protocols http

就我而言,Ajax为使用HTTP协议的面向连接的行为提供了一种解决方法.但是为什么HTTP协议最初不是设计成连接的?

jal*_*alf 11

因为它旨在用于连接没有意义的事情.

它被设计为超文本传输​​协议,这意味着它的职责是简单地允许发送"请将文档X发送给我"的形式的消息,以及"这里是文档X,如您所要求的".

这样的协议应该使用持久连接?

  • +1清晰度和历史视角.我仍然怀疑使用Web作为应用程序平台的智慧. (2认同)

Jas*_*Tan 6

简单.

回想起来可能不是一件坏事,因为它意味着HTTP很简单,这意味着它可以很容易地用于简单的东西.而且你可以通过在它上面构建图层来将它用于需要状态的更难/更复杂的东西.

正是这种简单性使得HTTP被广泛采用并使其具有吸引力.如果它不简单,那么它只是另一个复杂的protpocol,n-one使用,除非他们必须这样做.如果你不相信我,你能告诉我为什么你不使用说RPC用于通信而X11用于显示/渲染你的ajax应用程序?:d

记住,HTTP最初是为了实现一个wiki,如读/写信息存储,而不是在线商店,银行,文字处理器等.我记得在阅读Tim Berniers-Lee的采访时,他很高兴wiki被广泛接受(解释这就是他打算如何使用网络.实际上,这并没有发生在更广泛的网络上,大多数网站都禁用了旨在启用此功能的HTTP PUT方法.


Nol*_*rin 5

HTTP 最初是并且现在仍然是无连接的。AJAX 只是利用现代浏览器的 JavaScript 功能将 XML(或通常是 JSON)发送到服务器,而无需重新加载页面。

如前所述,主要原因是可扩展性。为网站的每个浏览者保持活跃的连接将非常耗费资源。此外,事实是 HTTP 的原始创建者并没有设想任何需要具有维护连接的系统 - HTTP 的想法只是发送对请求的文本响应,然后完成。