SPA:仅使用WebSocket。为什么不行? [英] SPA: using websockets only. Why not?

查看:21
本文介绍了SPA:仅使用WebSocket。为什么不行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在重新设计一个Web应用程序,它以前已经呈现为单页面应用程序的服务器端,并开始阅读有关WebSockets的内容。Web应用程序将使用套接字将新记录和/或消息推送到客户端。我一直在想,为什么大多数使用套接字的页面不能处理所有通过套接字进行的通信。大多数时候,除了WebSocket之外,还有REST风格的后端。让客户端通过套接字查询新资源是不是一个坏主意?如果是这样,为什么?除此之外,REST风格的API可能更容易与其他设备一起使用?

我可以想象,如果网络连接像移动设备一样糟糕,使用WebSockets可能不是最好的主意,但如果连接到Web的连接合理,这可能会很好地工作。

我发现了这个相关的问题,但它是2011年的,似乎有点过时: websocket api to replace rest api?

推荐答案

几年后回到这个问题,我想指出几个方面来说明通过WebSocket进行所有通信确实有其缺点:

  • 没有通用的压缩支持。您可以轻松地将Web服务器配置为压缩http请求,浏览器多年来一直乐于接受压缩的响应,但对于Web套接字来说,这仍然不是那么容易(尽管情况有所改善)
  • 客户端框架通常构建在REST等常用标准之上。离框架期望越远,可用的插件或功能就越少。
  • 在浏览器中缓存并非易事。到目前为止,这已经有很长的路要走了,涉及到离线可用性和PWAS领域。
  • 当使用只由部分用户使用的技术时,更有可能发现新的错误,或者错误可能需要更长的时间才能修复。如果不是虫子,可能很快就会出现边缘情况。这本身不是一个问题,但需要注意的是。如果遇到这些问题,通常很容易花费相当长的时间来修复或解决。

这篇关于SPA:仅使用WebSocket。为什么不行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆