WebSockets-API

API –定义

API是应用程序接口的缩写,是用于构建软件应用程序的一组例程,协议和工具。

一些重要的功能:

  • API指定了在对图形用户界面(GUI)组件进行编程时应如何交互软件组件以及应使用API​​。
  • 好的API可以通过提供所有构件来简化程序的开发。
  • REST通常在HTTP上运行,通常在移动应用程序,社交网站,mashup工具和自动化业务流程中使用。
  • REST风格强调通过有限数量的操作(动词)来增强客户端和服务之间的交互。
  • 通过分配资源来提供灵活性;他们自己的唯一通用资源标识符(URI)。
  • REST避免了歧义,因为每个动词都有特定的含义(GET,POST,PUT和DELETE)

Web Socket的优点

Web Socket一般解决了REST或HTTP的一些问题-

双向的

HTTP是一种单向协议,在此协议中,客户端始终会发起请求。服务器处理并返回响应,然后客户端使用它。Web Socket是一种双向协议,其中没有预定义的消息模式,例如请求/响应。客户端或服务器都可以将消息发送给另一方。

全双工

HTTP允许请求消息从客户端发送到服务器,然后服务器将响应消息发送到客户端。在给定的时间,客户端正在与服务器对话,或者服务器正在与客户端对话。Web Socket允许客户端和服务器彼此独立地进行交谈。

单TCP连接

通常,为HTTP请求启动一个新的TCP连接,并在收到响应后终止。需要为另一个HTTP请求/响应建立新的TCP连接。对于Web Socket,使用标准HTTP升级机制升级HTTP连接,并且客户端和服务器在Web Socket连接的生命周期中通过同一TCP连接进行通信。

下图显示了在有效负载大小不变的情况下处理N条消息所花费的时间(以毫秒为单位)。

WebSockets-API

这是提供此图的原始数据。

WebSockets-API

上面给出的图形和表格表明,REST开销随着消息数量的增加而增加。这是正确的,因为需要启动和终止许多TCP连接,并且需要发送和接收许多HTTP标头。

最后一列特别显示了满足REST请求的时间量的乘数。

第二张图显示了通过更改有效负载大小来处理固定数量的消息所需的时间。

WebSockets-API

这是提供此图的原始数据。

WebSockets-API

该图表明,处理REST端点的请求/响应的增量成本是最小的,并且大多数时间都花费在连接启动/终止和遵守HTTP语义上。

结论

Web Socket是一个低级协议。一切,包括一个简单的请求/响应设计模式,如何创建/更新/删除资源需求,状态码等,都将基于此构建。所有这些都是为HTTP定义的。

Web Socket是有状态协议,而HTTP是无状态协议。Web Socket连接可以在单个服务器上垂直扩展,而HTTP可以水平扩展。对于Web Socket水平缩放,有一些专有的解决方案,但是它们不是基于标准的。HTTP还具有许多其他优点,例如缓存,路由和多路复用。所有这些都需要在Web Socket上定义。

作者:terry,如若转载,请注明出处:https://www.web176.com/websockets/659.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2020年10月28日 下午2:44
下一篇 2020年10月28日 下午2:54

相关推荐

发表回复

登录后才能评论