使用 HTTP 的聊天应用程序会是啥样子?
Posted
技术标签:
【中文标题】使用 HTTP 的聊天应用程序会是啥样子?【英文标题】:How would a chat application using HTTP look like?使用 HTTP 的聊天应用程序会是什么样子? 【发布时间】:2020-05-17 03:14:28 【问题描述】:所以一个带有 Websockets 的聊天应用程序,用户 A 可以向用户 B 发送任意数量的消息,而用户 B 可以向用户 A 发送任意数量的消息。如果聊天应用程序是使用 HTTP 协议构建的,它会工作吗?方式相同,但延迟时间更长?
【问题讨论】:
【参考方案1】:如果您使用 HTTP 协议而不是 TCP 或 UDP,它看起来会有些不同。使用 HTTP 协议,您不能简单地将数据包从用户 A 直接发送到用户 B,您首先需要类似 RESTful Web API 的东西来发送请求。所以它看起来像这样:
-
用户 A 向 Web API 发送 POST 请求,并将消息作为请求正文
Web API 接收并存储消息
用户 B 向 Web API 发送 GET 请求,请求查看存储的消息
Web API 接收到 get 请求并将消息返回给用户 B
这可能比使用其他协议有更多的延迟。您还可以在 API 中添加身份验证,以在接受或返回任何消息之前验证用户。
【讨论】:
以上是关于使用 HTTP 的聊天应用程序会是啥样子?的主要内容,如果未能解决你的问题,请参考以下文章
如果 Ruby 中的程序创建散列并将这些散列保存在另一个文件中,它会是啥样子?
Spring Flux:如果我需要使用 Flux 和 Spring 5 进行并行 Web 服务调用,实现模式会是啥样子