【问题标题】:Is it possible to create a client-side REST API?是否可以创建客户端 REST API?
【发布时间】:2021-03-14 12:18:49
【问题描述】:

是否可以在浏览器中设置 JS REST API?
这个想法是我的网络服务器将数据发布到客户端 API 并且 UI 已更新:D
通信应该是加密的,所以我认为 HTTPS 必须加入。

这可能是一个愚蠢的问题,您可能想知道为什么?
答案是我查看了 PHP websockets 并阅读了有关内存泄漏和频繁重启服务器的信息,这让我认为 PHP 中的 websocket 还没有完全实现。

【问题讨论】:

  • websockets 是执行您所要求的事情的自然方式,无论您是否“想靠近它”。另一种方法是轮询 - 每 X 秒从客户端向服务器发送常规 Ajax 请求以获取最新内容,但是当您有很多客户端一直在这样做时,这很容易导致服务器崩溃。
  • 我想使用 websockets,但我读到了内存泄漏和频繁重启服务器的信息。我当时在想确实是在投票,但我和你提到的一样担心,并且对每个请求都握手。因此,这个奇怪的问题。
  • I read about memory leaks and frequently restarting the server... 这取决于它是否实施得不好。 websocket 标准中没有任何内容使这种情况不可避免。要么找到一个可靠的套接字服务器实现,要么自己做。还有服务器发送事件,如果您只需要从服务器到客户端的单向通信(在那种情况下,任何返回服务器的消息都可以通过 Ajax 完成)
  • 无论如何,服务器不可能向浏览器发送 HTTP 请求。所以,是的,ajax 轮询、websockets 或服务器发送事件......这些都是你的选择。
  • 最接近的实现是使用 websockets 或 SSE,服务器将['/route/foo',{'foo':'bar'}] 发送到客户端并根据有效负载做出反应,我不想靠近它在 2021 年安装库时,这并不是一个真正的借口,否则使用 90 年代 xhr 轮询

标签: javascript php websocket


【解决方案1】:

服务器无法向客户端请求服务,但您可以通过例如 AJAX 将结果从客户端发送到服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-14
    • 2018-01-24
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 2015-10-03
    • 2017-05-31
    • 2016-01-29
    相关资源
    最近更新 更多