【问题标题】:Why server can't push data with http?为什么服务器不能用http推送数据?
【发布时间】:2013-01-23 08:39:12
【问题描述】:

为什么 http 基于请求/响应?为什么服务器不能用http直接向客户端推送数据,必须是客户端请求的响应?在连接开始时,我知道客户端必须发送请求,但为什么在该客户端必须继续请求/响应/请求/响应之后。 long polling、comet、Bosh等服务器推送方法也是基于req/resp方法,并没有解决问题。

【问题讨论】:

  • 又是什么问题?请改写
  • 回答你的问题标题:因为超文本传输​​协议就是这样设计的。
  • 当我设计一些东西时,我试图解决问题并调试它。http也遵循这个但不是实时的。实时简单的方法是服务器直接推送数据而不是彗星而不是轮询。有什么限制http 那服务器不能这样做吗?
  • @jabbar 在设计 HTTP 时,设计者认为服务器推送超出了 HTTP 的问题域。请记住,当时的 HTTP(以及整个网络)看起来完全不同,使用模型也完全不同。在 HTTP 的大部分历史中......如果您打算进行服务器推送,HTTP 被认为是不适合这项工作的协议

标签: http protocols


【解决方案1】:

你所有的问题都好! RFC 6455 定义了 WebSocket 协议。 HTTP 1.1 支持不需要您遵循请求/回复模式的双向类 TCP 套接字。最初的规范只支持 UTF-8 字符编码,但现在有了现代浏览器,二进制数据也可以通过网络发送。使用 WebSockets 提供了一种构建 Web 应用程序的新方式,但它不断增长的浏览器支持使其成为现代网站的可行选择。

Node.js 是通过 Socket.IO 库使用 WebSocket 的最简单方法。请检查一下。

【讨论】:

  • 我知道我们可以实时使用 WebSocket,但我不会使用另一个协议我的问题是服务器不能直接推送数据的 http 有什么限制?
猜你喜欢
  • 2013-11-20
  • 2019-06-07
  • 1970-01-01
  • 1970-01-01
  • 2011-08-17
  • 2017-09-06
  • 2016-10-24
  • 2013-01-14
  • 1970-01-01
相关资源
最近更新 更多